1
0
mirror of https://gitlab.com/MisterBiggs/advent-of-code-2019.git synced 2025-06-15 22:56:47 +00:00
2019-12-04 22:31:32 -07:00

40 lines
1.0 KiB
Python

def intcode(seq, offset=0):
parameter = str(seq[offset])
parameter = parameter.rjust(5, "0")
opcode = int(parameter[-2:])
parameters = [int(x) for x in parameter[:-2][::-1]]
params = len(parameters)
for parameter in parameters:
if parameter == 0:
index = seq[3 + offset]
if opcode == 99:
return seq
vals = [seq[seq[1 + offset]], seq[seq[2 + offset]]]
if opcode == 1:
seq[index] = sum(vals)
return intcode(seq, offset + 4)
elif opcode == 2:
seq[index] = vals[0] * vals[1]
return intcode(seq, offset + 4)
elif opcode == 3:
seq[index] = inp
return intcode(seq, offset + 4)
elif opcode == 4:
seq[index] = out
return intcode(seq, offset + 4)
else:
return seq
# with open("C:\Coding\Advent Of Code 2019\Day 5\input.txt") as input:
# main_sequence = list(map(int, input.read().split(",")))
print(intcode([1002, 4, 3, 4, 33]))