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 ++++++++++++++++++++++++++++++++++++++++++ day6/example.txt | 1 + day6/input.txt | 1 + 3 files changed, 44 insertions(+) create mode 100644 day6/__init__.py create mode 100644 day6/example.txt create mode 100644 day6/input.txt (limited to 'day6') 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 + + + + + + diff --git a/day6/example.txt b/day6/example.txt new file mode 100644 index 0000000..a7af2b1 --- /dev/null +++ b/day6/example.txt @@ -0,0 +1 @@ +3,4,3,1,2 \ No newline at end of file diff --git a/day6/input.txt b/day6/input.txt new file mode 100644 index 0000000..b23cbb9 --- /dev/null +++ b/day6/input.txt @@ -0,0 +1 @@ +5,1,5,3,2,2,3,1,1,4,2,4,1,2,1,4,1,1,5,3,5,1,5,3,1,2,4,4,1,1,3,1,1,3,1,1,5,1,5,4,5,4,5,1,3,2,4,3,5,3,5,4,3,1,4,3,1,1,1,4,5,1,1,1,2,1,2,1,1,4,1,4,1,1,3,3,2,2,4,2,1,1,5,3,1,3,1,1,4,3,3,3,1,5,2,3,1,3,1,5,2,2,1,2,1,1,1,3,4,1,1,1,5,4,1,1,1,4,4,2,1,5,4,3,1,2,5,1,1,1,1,2,1,5,5,1,1,1,1,3,1,4,1,3,1,5,1,1,1,5,5,1,4,5,4,5,4,3,3,1,3,1,1,5,5,5,5,1,2,5,4,1,1,1,2,2,1,3,1,1,2,4,2,2,2,1,1,2,2,1,5,2,1,1,2,1,3,1,3,2,2,4,3,1,2,4,5,2,1,4,5,4,2,1,1,1,5,4,1,1,4,1,4,3,1,2,5,2,4,1,1,5,1,5,4,1,1,4,1,1,5,5,1,5,4,2,5,2,5,4,1,1,4,1,2,4,1,2,2,2,1,1,1,5,5,1,2,5,1,3,4,1,1,1,1,5,3,4,1,1,2,1,1,3,5,5,2,3,5,1,1,1,5,4,3,4,2,2,1,3 \ No newline at end of file -- cgit v1.2.3