AdventOfCode/2020/day15.py

18 lines
499 B
Python

def play_game(data, until):
last_indices = {v:i for i,v in enumerate(data[:-1])}
last = data[-1]
for i in range(len(data), until):
if last in last_indices:
n = i-last_indices[last]-1
last_indices[last] = i-1
last = n
else:
last_indices[last] = i-1
last = 0
return last
input = [int(i) for i in '10,16,6,0,1,17'.split(',')]
print(f'Part 1: 2020th number is {play_game(input, 2020)}')
print(f'Part 2: 30000000th number is {play_game(input, 30000000)}')