Solved part 2 of day 15
This commit is contained in:
parent
5d2f2d1ddd
commit
b31d0070b8
24
15/part2.py
Normal file
24
15/part2.py
Normal 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)
|
Loading…
Reference in New Issue
Block a user