Advent of Code 2022 (46/50 ✨)
Languages: 14 (fish, JavaScript, TypeScript, Perl, Ruby, C, Java, Fortran,
Nim, Lua, C#, Python, Haskell, Vim)
Ideas for 2023: see languages.md
- Day 01 ⭐⭐
- Day 02 ⭐⭐
- JavaScript (Node/esm), tests for Node 19's experimental built-in test runner
- Vim
- Day 03 ⭐⭐
- TypeScript (Bun), tests require Bun Canary, see README
- Vim
- Day 04 ⭐⭐ in Perl with Test2
- Day 05 ⭐⭐ in Ruby
- Day 06 ⭐⭐ in C 💀
- Day 07 ⭐⭐ in Java (tests) 🦕
- Day 08 ⭐⭐ in Fortran (tests) 🧑🔬 with GOTO! (paired with @raborlattinchen)
- Day 09 ⭐⭐ in Nim (tests) visualizing does help… I learned the hard way
- Day 10 ⭐⭐ in Lua (tests)
- Day 11 ⭐⭐ in C# (tests, main) with record structs
- Day 12 ⭐⭐ in Python no tests, but quickly done
- Day 13 ⭐⭐ in
Python input data is recursive and almost valid
Python syntax, so Python /w
eval
- Day 14 ⭐⭐ in Python with visualization
- Day 15 ⭐⭐ in
Python "Use the force, Brute!"
Learned about PyPy and tqdm (see day 15 README), both very helpful for long-running Python scripts - Day 16 ️✖️✖️
- Day 17 ⭐⭐ in Python used some hints for the cycle detection of part 2
- Day 18 ⭐⭐ in Python with 3D plots
- Day 19 ⭐⭐ in Python absolutely crazy, a lot of tweaking of guessed parameters to throw away states so that everything fits into memory
- Day 20 ⭐⭐ in Python modulo goes brrrr
- Day 21 ⭐⭐ in Python expression trees and brute force binary search (with a bit of luck)
- Day 22 ⭐✖️ in Python part 1 only
- Day 23 ⭐⭐ in Python actually quite nice and clean code (pattern matching, list/set comprehensions)
- Day 24 ⭐⭐ in Python BFS (caching blizzard cycles == huge performance boost)
- Day 25 ⭐✖️ in Haskell 𝝺 last day, took the chance to increase my language count