aboutsummaryrefslogtreecommitdiff
path: root/2021/06/puzzles.py
blob: 93dcfea598ffc59ed48be653eaa651ed2b66cdb4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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()