Bladeren bron

2020/15

master
Roderic Day 4 jaren geleden
bovenliggende
commit
1b28f5ece2
1 gewijzigde bestanden met toevoegingen van 24 en 0 verwijderingen
  1. +24
    -0
      y2020/p15.py

+ 24
- 0
y2020/p15.py Bestand weergeven

@@ -0,0 +1,24 @@
import collections
import itertools
import sys


text = sys.stdin.read()
inp = [int(n) for n in text.split(',')][::-1]
seen = collections.defaultdict(lambda: collections.deque(maxlen=2))
spoken = None
for turn in itertools.count(1):
if inp:
spoken = inp.pop()
elif len(seen[spoken]) < 2:
spoken = 0
else:
spoken = seen[spoken][-1] - seen[spoken][-2]

if turn == 2020:
print(spoken)
elif turn == 30_000_000:
print(spoken)
break

seen[spoken].append(turn)

Laden…
Annuleren
Opslaan