My solutions written in Rust and Kotlin for Advent of Code 2021.
Note that this code is hacky, not polished or refactored in any way, i.e. it is probably the worst spaghetti code you can imagine. Its sole purpose was to solve the puzzles, it should not be used as example for good code. That means, after I retrieved the correct solution for a puzzle, I left the source code as it is without any cleanup. Or stated otherwise, I intentionally gave myself the permission to hack around...
Day | Problem | Topic |
---|---|---|
1 | Sonar Sweep | Slicing window computations |
2 | Dive! | Parse grid traversal commands |
3 | Binary Diagnostic | Binary number computations |
4 | Giant Squid | Array computations |
5 | Hydrothermal Venture | Twodimensional area covering computation |
6 | Lanternfish | Exponential modulo computations |
7 | The Treachery of Whales | Combinatorial space exploration |
8 | Seven Segment Search | Solve mathematical combinatorial equations |
9 | Smoke Basin | Path finding using Dijkstra |
10 | Syntax Scoring | Stack-based parser computation |
11 | Dumbo Octopus | Cellular automata computations |
12 | Passage Pathing | Graph traversal algorithms |
13 | Transparent Origami | Twodimensional folding algorithms |
14 | Extended Polymerization | Grammar exploration |
15 | Chiton | Path finding |
16 | Packet Decoder | Recursive unpacking of binary data structure |
17 | Trick Shot | Simulating cannon shots |
18 | Snailfish | Binary tree computations |
19 | Beacon Scanner | Threedimensional combinatorial object to object matching |
20 | Trench Map | Simulating cellular automata on infinite grid |
21 | Dirac Dice | Simulating quantum dices using tree search |
22 | Reactor Reboot | Intersection cuts in threedimensional space |
23 | Amphipod | Minimal cost finding using tree exploration (done by hand!) |
24 | Arithmetic Logic Unit | Reverse-engineering assembly code |
25 | Sea Cucumber | Twodimensional cellular simulation with two cell types |