From 906fc128a0f99fec656901f55055ef78e10693b4 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 6 Dec 2021 13:50:26 +0100 Subject: Day 6 --- day6/__init__.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 day6/__init__.py (limited to 'day6/__init__.py') diff --git a/day6/__init__.py b/day6/__init__.py new file mode 100644 index 0000000..616f055 --- /dev/null +++ b/day6/__init__.py @@ -0,0 +1,42 @@ +from collections import Counter +from copy import copy +from typing import List + +from aoc import BaseAssignment + + +class Assignment(BaseAssignment): + days = 80 + + def parse_item(self, item: str) -> List[int]: + return [ int(i) for i in item.split(',') ] + + def read_input(self, example = False) -> List[int]: + return next(super().read_input(example)) + + def run(self, input: List[int]) -> int: + fish_counter = Counter(input) + + for _ in range(self.days): + labour_fish = fish_counter.get(0, 0) + + for fish in range(8): + fish_counter[fish] = fish_counter[fish + 1] + + fish_counter[6] += labour_fish + fish_counter[8] = labour_fish + + return fish_counter.total() + +class AssignmentOne(Assignment): + example_result = 5934 + +class AssignmentTwo(Assignment): + example_result = 26984457539 + days = 256 + + + + + + -- cgit v1.2.3