1
0

Solved part 2 of day 15

This commit is contained in:
Rokas Puzonas 2020-12-15 21:31:17 +02:00
parent 5d2f2d1ddd
commit b31d0070b8

24
15/part2.py Normal file
View File

@ -0,0 +1,24 @@
def getStartingNumbers(filename):
with open(filename, "r") as f:
return [int(n) for n in f.read().split(",")]
numbers = getStartingNumbers("input.txt")
occurences = {n: [i] for i,n in enumerate(numbers)}
lastNumber = numbers[-1]
# 30000000
targetI = 30000000
i = len(numbers)-1
while i+1 < targetI:
if len(occurences[lastNumber]) > 1:
number = occurences[lastNumber][-1] - occurences[lastNumber][-2]
else:
number = 0
i += 1
occurences[number] = occurences.get(number, [])
occurences[number].append(i)
occurences[number] = occurences[number][-2:]
lastNumber = number
print(lastNumber)