AoC of 2024
Almost a year later I finally finished AoC 2024:
https://adventofcode.com/2024.
My solutions: https://github.com/trofi/AoC/tree/main/2024.
Similar to last year I managed to solve most of problem within a day of them being published with a single exception of problem 21. That one took me most of 2025 :)
As usual problems were appearing once a day at 5AM from Dec 1 to Dec 25. Nowadays I get up at 6 AM. Sometimes I had a chance to at least read the problem descriptions in the morning and try to solve in the evening.
My personal goal was to solve the problems within 24 hours of publish
time and get the source code under 4K. I failed it in a few problems.
Again, I used rust. I tried not to use external crates but I started
using cargo and workspaces to make rust-analyzer and cargo run
to Just Work in the source directory. I enabled cargo very late once
I got stuck on problem 21.
Funniest problems
Most of the problems felt slightly easier than last year’s ones (where
I did not get past problem 21).
Again, there are no miracles in the solutions I did. If they ran in a few seconds time I did not do much to tune them. But some of them required a pencil and paper style solution. Those were great!
Here is my list of fun problems I remembered:
- Day 3: Mull It Over:
slightly unusual problem where I had the chance to use
re2clexer generator. - Day 12: Garden Groups: while being one of the typical graph traversal problems I liked how part 2 could be solved entirely with primitives built from part 1.
- Day 17: Chronospatial Computer: an opportunity to write a CPU emulator! I could not resist. Part 2 required me a bit of pencil and paper.
- Day 20: Race Condition: it’s a nice form of finding shortest path in the maze with a warp twist.
- Day 21: Keypad Conundrum: a simple “control the robot with a keypad” problem. Part 2 has a great twist.
- Day 24: Crossed Wires:
part 2is a deceptively simple problem description that I found easier
to solve by staring into
graphvizoutput.
Looks like this year we had even more graph traversal problems. Quick
grep for visited says it is 8.
Have fun!