A series of challenges in the spirit of the holidays for 2022 ๐
All of these solutions will be written in Python with the following goals in mind:
- Efficiency, where an efficient algorithm will do the job without over-killing the problem. I am aiming for a cumulative sub-15 seconds using plain Python 3.9 (no PyPy or JIT compilers) for these tasks.
- Organization. Avoid duplicate code for better readability and modularity. No ๐ code!
- Keep it simple!
As always, the goal is to stay on the leaderboard. However, I am unsure if I can keep up with everyone this year. The past few months have been stressful and I haven't been able to practice like I used to. Hoping to take this year's advent less seriously.
Day | Name | Part 1 | Part 2 | Points | Runtime (ms) |
---|---|---|---|---|---|
1 | Calorie Counting | 150th | 236th | 0 | xxx |
2 | Rock Paper Scissors | 39th | 369th | 62 | xxx |
3 | Rucksack Reorganization | 41st | 31st | 60 + 70 = 130 | xxx |
4 | Camp Cleanup | 147th | 68th | 33 | xxx |
5 | Supply Stacks | 84th | 62nd | 17 + 39 = 56 | xxx |
6 | Tuning Trouble | 34th | 26th | 67 + 75 = 142 | xxx |
7 | No Space Left On Device | 1053rd | 589th | 0 | xxx |
8 | Treetop Tree House | 1047th | 704th | 0 | xxx |
9 | Rope Bridge | 117th | 74th | 27 | xxx |
10 | Cathode-Ray Tube | 756th | 116th | 0 | xxx |
11 | Monkey in the Middle | 85th | 130th | 16 | xxx |
12 | Hill Climbing Algorithm | 4th | 4th | 97 + 97 = 194 | xxx |
13 | Distress Signal | 421st | 247th | 0 | xxx |
14 | Regolith Reservoir | 132nd | 103rd | 0 | xxx |
15 | Beacon Exclusion Zone | 14th | 97th | 87 + 4 = 91 | xxx |
16 | Proboscidea Volcanium | 65th | 312th | 36 | xxx |
17 | Pyroclastic Flow | 161st | 370th | 0 | xxx |
18 | Boiling Boulders | 109th | 177th | 0 | xxx |
19 | Not Enough Minerals | 353rd | 314th | 0 | xxx |
20 | Grove Positioning System | 751st | 482nd | 0 | xxx |
21 | Monkey Math | 50th | 81st | 51 + 20 = 71 | xxx |
22 | Monkey Map | 217th | 626th | 0 | xxx |
23 | Unstable Diffusion | 177th | 137th | 0 | xxx |
24 | Blizzard Basin | 14th | 12th | 87 + 89 = 176 | xxx |
25 | Full of Hot Air | 664th | 568th | 0 | xxx |
Score: 1034 points
Rank: 61st
Total runtime: xxx milliseconds (one day I will fix this...)
Credits to Eric Wastl (the creator of AOC) for the amazing ASCII calendar art!
While the rust definitely showed this year, I'm glad I made it onto the leaderboard and set some personal records (day 12)!
This was a good year to work on problem-solving and writing solid code, and it's clear that I could improve at it. Combined with ongoing finals, there were multiple days where I wrote straight garbage and unoptimized code.
I will come back again next year and (hopefully) keep the streak going!