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