diff --git a/15/1.py b/15/1.py index 71d0cd9..eeae830 100644 --- a/15/1.py +++ b/15/1.py @@ -1,21 +1,24 @@ -content = [2,0,6,12,1,3] +def play_number_of_turns(turns): + content = [2,0,6,12,1,3] -spoken = {} -new_spoken = 0 -turn = 1 -for c in content: - spoken[c] = turn - turn += 1 + spoken = [0] * turns + new_spoken = 0 + turn = 1 + for c in content: + spoken[c] = turn + turn += 1 -last_turn = 0 -while turn <= 2020: - if not last_turn: - new_spoken = 0 - else: - new_spoken = turn - 1 - last_turn + last_turn = 0 + while turn <= turns: + if not last_turn: + new_spoken = 0 + else: + new_spoken = turn - 1 - last_turn - last_turn = spoken.get(new_spoken, 0) - spoken[new_spoken] = turn - turn += 1 + last_turn = spoken[new_spoken] + spoken[new_spoken] = turn + turn += 1 -print(new_spoken) + print(new_spoken) + +play_number_of_turns(2020) diff --git a/15/2.py b/15/2.py index 979c967..928069b 100644 --- a/15/2.py +++ b/15/2.py @@ -1,21 +1,24 @@ -content = [2,0,6,12,1,3] +def play_number_of_turns(turns): + content = [2,0,6,12,1,3] -spoken = {} -new_spoken = 0 -turn = 1 -for c in content: - spoken[c] = turn - turn += 1 + spoken = [0] * turns + new_spoken = 0 + turn = 1 + for c in content: + spoken[c] = turn + turn += 1 -last_turn = 0 -while turn <= 30000000: - if not last_turn: - new_spoken = 0 - else: - new_spoken = turn - 1 - last_turn + last_turn = 0 + while turn <= turns: + if not last_turn: + new_spoken = 0 + else: + new_spoken = turn - 1 - last_turn - last_turn = spoken.get(new_spoken, 0) - spoken[new_spoken] = turn - turn += 1 + last_turn = spoken[new_spoken] + spoken[new_spoken] = turn + turn += 1 -print(new_spoken) + print(new_spoken) + +play_number_of_turns(30000000)