From eb86963e1a10017e9a28b8309adedf832b9cda48 Mon Sep 17 00:00:00 2001 From: Ben Charlton Date: Wed, 16 Dec 2020 21:15:56 +0000 Subject: [PATCH] day 15 --- 15/15.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 15/15.py diff --git a/15/15.py b/15/15.py new file mode 100644 index 0000000..d22a22c --- /dev/null +++ b/15/15.py @@ -0,0 +1,47 @@ +#!/usr/bin/python3 + +import sys + +for line in sys.stdin: + nums = line.rstrip().split(',') + + seen = {} + turn = 1 + last = 0 + # Load numbers + for n in nums: + n = int(n) + if n in seen: + seen[n].append(turn) + else: + seen[n] = [turn] + + turn += 1 + last = n + + next = 0 + + while turn <= 30000000: + + if last not in seen: + next = 0 + else: + a = seen[last] + if len(a) == 1: + next = 0 + else: + next = a[-1] - a[-2] + + if next in seen: + seen[next].append(turn) + else: + seen[next] = [turn] + + if turn == 2020: + print(1,next) + + turn += 1 + last = next + + print (2, next) +