Skip to content

Commit f3914a5

Browse files
committed
Alternative
1 parent 38a91ef commit f3914a5

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
|[12](https://adventofcode.com/2020/day/12)|Rain Risk|[py](/day12/main.py)|
1717
|[13](https://adventofcode.com/2020/day/13)|Shuttle Search|[py](/day13/main.py)|
1818
|[14](https://adventofcode.com/2020/day/14)|Docking Data|[py](/day14/main.py)|
19-
|[15](https://adventofcode.com/2020/day/15)|Rambunctious Recitation|[py](/day15/main.py)|
19+
|[15](https://adventofcode.com/2020/day/15)|Rambunctious Recitation|[py](/day15/main.py), [alt](/day15/alt.py)|
2020
|[16](https://adventofcode.com/2020/day/16)|-|-|
2121
|[17](https://adventofcode.com/2020/day/17)|-|-|
2222
|[18](https://adventofcode.com/2020/day/18)|-|-|

day15/alt.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
def solve(numbers, until):
2+
memory = {n: i+1 for i, n in enumerate(numbers[:-1])}
3+
for i in range(len(numbers), until):
4+
numbers.append(i - memory.get(numbers[-1], i))
5+
memory[numbers[-2]] = i
6+
return numbers[-1]
7+
8+
numbers = [int(n) for n in "12,1,16,3,11,0".split(",")]
9+
print(solve(numbers, 2020))
10+
print(solve(numbers, 30000000))

0 commit comments

Comments
 (0)