day2.ex (424B)
- defmodule Day2 do
- # add
- def opcode([1, pos1, pos2, store], tokens) do
- List.replace_at(tokens, store, Enum.at(tokens, pos1) + Enum.at(tokens, pos2))
- end
- # multiply
- def opcode([2, pos1, pos2, store], tokens) do
- List.replace_at(tokens, store, Enum.at(tokens, pos1) * Enum.at(tokens, pos2))
- end
- # halt
- def opcode([99, _, _, _], _) do
- :halt
- end
- # noop
- def opcode(_, _) do
- :noop
- end
- end