part 1 day 15
This commit is contained in:
43
day15/day15.py
Normal file
43
day15/day15.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
def part1():
|
||||||
|
file = open("input.txt")
|
||||||
|
lines = [i.strip() for i in file.readlines()]
|
||||||
|
|
||||||
|
numbers = lines[0].split(',')
|
||||||
|
|
||||||
|
history = {}
|
||||||
|
|
||||||
|
final_round = 2020
|
||||||
|
last_spoken = ''
|
||||||
|
|
||||||
|
for i in range(0, final_round):
|
||||||
|
|
||||||
|
if i < len(numbers):
|
||||||
|
print(f'Turn {i + 1}: {numbers[i]}')
|
||||||
|
last_spoken = numbers[i]
|
||||||
|
history[last_spoken] = [i]
|
||||||
|
continue
|
||||||
|
|
||||||
|
if len(history[last_spoken]) == 1:
|
||||||
|
last_spoken = '0'
|
||||||
|
history[last_spoken].append(i)
|
||||||
|
else:
|
||||||
|
count = len(history[last_spoken])
|
||||||
|
last_spoken = str(history[last_spoken][count - 1] - history[last_spoken][count - 2])
|
||||||
|
if last_spoken not in history:
|
||||||
|
history[last_spoken] = [i]
|
||||||
|
else:
|
||||||
|
history[last_spoken].append(i)
|
||||||
|
|
||||||
|
# print(f'Turn {i + 1}: {last_spoken}')
|
||||||
|
|
||||||
|
print(f"Part 1: {last_spoken}")
|
||||||
|
|
||||||
|
|
||||||
|
def part2():
|
||||||
|
pass
|
||||||
|
# print("Part 2: ")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
part1()
|
||||||
|
part2()
|
||||||
1
day15/input.txt
Normal file
1
day15/input.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
15,12,0,14,3,1
|
||||||
Reference in New Issue
Block a user