aboutsummaryrefslogtreecommitdiff
path: root/2021/06/puzzles.py
diff options
context:
space:
mode:
Diffstat (limited to '2021/06/puzzles.py')
-rw-r--r--2021/06/puzzles.py31
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()