From 06eb7c1f08b26d14577731b98742adc44142d7b8 Mon Sep 17 00:00:00 2001 From: dece Date: Mon, 6 Dec 2021 12:50:27 +0100 Subject: [PATCH] Day 6 --- 2021/day6.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 2021/day6.py diff --git a/2021/day6.py b/2021/day6.py new file mode 100644 index 0000000..3399353 --- /dev/null +++ b/2021/day6.py @@ -0,0 +1,35 @@ +import sys + + +def main(): + lines = [line.rstrip() for line in sys.stdin] + data = {k: 0 for k in range(1, 6)} + for n in map(int, lines[0].split(",")): + data[n] += 1 + + # Part 1 + for _ in range(80): + data = step(data) + print(sum(data.values())) + + # Part 2 + for _ in range(256 - 80): + data = step(data) + print(sum(data.values())) + + +def step(data): + next_data = {k: 0 for k in range(1, 9)} + for k, v in data.items(): + if v == 0: + continue + if k == 0: + next_data[6] += v + next_data[8] += v + else: + next_data[k - 1] = v + return next_data + + +if __name__ == "__main__": + main()