Each section concerns only one year in descending order newest to oldest. However i'll eventually come around and finish older years.
| Year | how many done | When |
|---|---|---|
| 2021 | 1-4 | early dec |
| 2022 | 1-9 ,11 | early to mid dec |
| 2023 | 1-2, 4-6 | early dec |
Goals for 2023:
- do more than in 2022 (11 days)
- do more than in 2021 (4 days)
- manage 3rd
- solve half of puzzles
- tackle 2/3 (16-18)
- ideally, finish the whole things
- bonus: use more than one language/something else than Python
- bonus: use unit tests
Goals for 2024:
- even start
- do more than in 2021 (4 days)
- do more than in 2023 (5 days)
- do more than in 2022 (11 days)
- manage 3rd
- solve half of puzzles
- tackle 2/3 (16-18)
- ideally, finish the whole things
- bonus: use more than one language/something else than Python
- bonus: use unit tests
Reflection after finishing:
TODO write here around New Year
What an Advent of Code huh *take a shot of rum* Captain, it's only been day one...
Regex pain continues...
Locality search, haven't finished yet
Fairly nice a bit advanced accumulate on input (done on 5th in the morning)
Number/interval mappings - test input easy, real was... pain and the naive solution for part 2 took 2.5h to compute using single core ARM Armstrong (or w/e they have on Oracle Cloud) with 3-4GB of RAM using Pypy, standard python distribution took too long and ate 4-5x more memory. (done at night on 10th)
Just solving quadratic equation
Goal for 2022:
- do more than the year before (4 days)
- manage 3rd
- solve half of puzzles
- tackle 2/3 (16-18)
- ideally, finish the whole things
Reflection after finishing:
TODO write here
very basic warm-up reading input and doing basic things
- parsing numbers and counting them
- rock-paper-scissors game
- letter intersection between strings
math interval intersection - test input algo correctness check and unit tests
moving objects between containers remembering their order - awful initial state parsing, 5m hand edit >> 2 hours auto parser
sliding window on an input
tree search and back propagation - in this case, sizes of folders in filesystem - various possible solution: basic-tree, dataclass/fancy object structure, Pathlib simulation, dictionary with absolute paths as key (some global state mess)
2d array of tree heights, calculation of tree visibility and scenic score based on the height - for-loop hell
not done yet
very super basic CPU instruction execution simulator with art printout in 2nd part - side effect hell (global state babysitting)
FIXME: not done just yet
first 4 kinda