25 lines
515 B
Python
25 lines
515 B
Python
|
#!/usr/bin/env python
|
||
|
# 2021 - Advent Of Code - 2 part 2
|
||
|
|
||
|
import re
|
||
|
|
||
|
x = 0
|
||
|
y = 0
|
||
|
aim = 0
|
||
|
|
||
|
re_parse = re.compile('(forward|up|down) (\d+)')
|
||
|
|
||
|
with open('input.txt') as f:
|
||
|
for line in f:
|
||
|
m = re_parse.match(line)
|
||
|
direction, unit = m.group(1), int(m.group(2))
|
||
|
if direction == 'up':
|
||
|
aim -= unit
|
||
|
elif direction == 'down':
|
||
|
aim += unit
|
||
|
elif direction == 'forward':
|
||
|
x += unit
|
||
|
y += aim * unit
|
||
|
|
||
|
print(f'position: ({x}, {y}) => {x*y}')
|