from tools.aoc import AOCDay from typing import Any class Day(AOCDay): inputs = [ [ (15, "input2_test"), (13809, "input2_dennis"), (14163, "input2"), ], [ (12, "input2_test"), (12316, "input2_dennis"), (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)