Files
python-aoc-2020/day12/part2.py
2020-12-12 12:08:50 +01:00

18 lines
429 B
Python

lines = ((x[0], int(x[1:].strip())) for x in open("input.txt"))
pos = 0
drctn = 10+1j
targets = [1j, 1, -1j, -1]
target_str = "NESW"
for cmd, num in lines:
if cmd in target_str:
drctn += targets[target_str.index(cmd)] * num
elif cmd in "LR":
times = (-1 if cmd == "R" else 1) * num / 90
drctn = drctn * 1j ** times
else:
pos += drctn * num
print(int(abs(pos.real) + abs(pos.imag)))