aoc2020/15/1.py

26 lines
479 B
Python

content = [2,0,6,12,1,3]
spoken = {}
new_number = 0
last_spoken = 0
turn = 1
for c in content:
spoken[c] = turn
last_spoken = c
turn += 1
was_new = True
for turn in range(len(content) + 1, 2021):
if was_new:
new_spoken = 0
else:
new_spoken = turn - 1 - last_turn
was_new = new_spoken not in spoken
if not was_new:
last_turn = spoken[new_spoken]
spoken[new_spoken] = turn
last_spoken = new_spoken
print(last_spoken)