diff --git a/day15.py b/day15.py index e4e51dd..e69b631 100644 --- a/day15.py +++ b/day15.py @@ -8,19 +8,13 @@ TEST_SOLUTION_PART2 = 175594 def part1(test_mode=False, count=2020): my_input = aoclib.getInputAsArraySplit(day=DAY, return_type=int, split_char=",", test=test_mode) - memory_last = {v: i for i, v in enumerate(my_input)} - memory_prev = {} + memory = {v: i for i, v in enumerate(my_input)} last_spoken = my_input[-1] for i in range(len(my_input), count): - if last_spoken not in memory_prev: - last_spoken = 0 - else: - last_spoken = i - 1 - memory_prev[last_spoken] - - if last_spoken in memory_last: - memory_prev[last_spoken] = memory_last[last_spoken] - memory_last[last_spoken] = i + speak = i - 1 - memory.get(last_spoken, i - 1) + memory[last_spoken] = i - 1 + last_spoken = speak return last_spoken