aoc2022/day02.py
2022-12-02 06:34:30 +01:00

47 lines
1.0 KiB
Python

from tools.aoc import AOCDay
from typing import Any
class Day(AOCDay):
inputs = [
[
(15, "input2_test"),
(14163, "input2"),
],
[
(12, "input2_test"),
(12091, "input2"),
]
]
def part1(self) -> Any:
score = 0
for line in self.getInput():
e, m = map(ord, line.split(" "))
e, m = e - 64, m - 64 - 23
score += m
if e == m:
score += 3
elif m == e + 1 or m == (e + 1) % 3:
score += 6
return score
def part2(self) -> Any:
score = 0
for line in self.getInput():
e, m = map(ord, line.split(" "))
e -= 64
if m == 88: # lose!
score += 3 if e == 1 else e - 1
elif m == 89: # draw!
score += 3 + e
else: # win!
score += 7 if e == 3 else e + 7
return score
if __name__ == '__main__':
day = Day(2022, 2)
day.run(verbose=True)