From 8d8312b9ea8cee09e861165749449961a5c66ab9 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Sun, 3 Dec 2023 15:34:46 +0100 Subject: Day 2 --- ...__init__ (conflicted copy 2023-12-03 150713).py | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 day2/__init__ (conflicted copy 2023-12-03 150713).py (limited to 'day2/__init__ (conflicted copy 2023-12-03 150713).py') diff --git a/day2/__init__ (conflicted copy 2023-12-03 150713).py b/day2/__init__ (conflicted copy 2023-12-03 150713).py new file mode 100644 index 0000000..1191e0f --- /dev/null +++ b/day2/__init__ (conflicted copy 2023-12-03 150713).py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +from abc import ABC +from enum import Enum +from typing import Iterator + +from aoc import BaseAssignment, I, T + + +class Color(Enum): + red = 'red' + green = 'green' + blue = 'blue' + +ColorCount = tuple[int, Color] + +class Assignment(BaseAssignment, ABC): + def parse_item(self, item: str) -> list[tuple[ColorCount, ...]]: + _, items = item.split(': ') + + return [ + tuple( + tuple(( + int(_.split(' ')[0]), + Color(_.split(' ')[1]) + )) + for _ in pair.split(', ') + ) + for pair in items.split('; ') + ] + + +class AssignmentOne(Assignment): + example_result = 8 + def run(self, input: Iterator[I]) -> T: + for i in input: + print(i) + + +class AssignmentTwo(Assignment): + pass -- cgit v1.2.3