aoc2021/day02.py
Stefan Harmuth a0b4513d31 day02
2021-12-02 06:22:57 +01:00

38 lines
1011 B
Python

from aoc import AOCDay
from typing import Any
class Day(AOCDay):
test_solutions_p1 = [150]
test_solutions_p2 = [900]
def part1(self) -> Any:
path = self.getInputAsArraySplit(" ", [str, int])
pos = 0
depth = 0
for direction in path:
if direction[0] == 'forward':
pos += direction[1]
elif direction[0] == 'down':
depth += direction[1]
elif direction[0] == 'up':
depth -= direction[1]
return pos * depth
def part2(self) -> Any:
path = self.getInputAsArraySplit(" ", [str, int])
pos = 0
depth = 0
aim = 0
for direction in path:
if direction[0] == 'forward':
pos += direction[1]
depth += aim * direction[1]
elif direction[0] == 'down':
aim += direction[1]
elif direction[0] == 'up':
aim -= direction[1]
return pos * depth