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()
 
  |