diff options
Diffstat (limited to '2021/06/puzzles.py')
-rw-r--r-- | 2021/06/puzzles.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/2021/06/puzzles.py b/2021/06/puzzles.py new file mode 100644 index 0000000..93dcfea --- /dev/null +++ b/2021/06/puzzles.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + + +# This is not my original solution, that one involved numpy and some more ugly code, but after +# seeing this solution I couldn't help but realize how obvious it was. + + +import collections +from typing import Counter + + +def main() -> None: + with open("input", "r", encoding="utf-8") as f: + acc = collections.Counter(map(int, f.read().split(","))) + + for _ in range(DAYS): + counts: Counter[int] = collections.Counter() + for a, c in acc.items(): + if a: + counts[a - 1] += c + else: + counts[6] += c + counts[8] += c + + acc = counts + + print(sum(acc.values())) + + +if __name__ == "__main__": + main() |