To my own surprise, I ended up working on all challenges this year. I think it's actually a good idea to have less days, since closer to Christmas there's too much going to be able to dedicate so much time.
I couldn't solve some of the problems: I still have no idea how to solve efficiently Day 9 Part 2, and I needed help to implement the linear programming approach for Day 10 Part 2. I completed these two by looking at other people's code, just so I could see the always cool animation at the end!
Like last year, it was great as a "refresher" and also to learn a few new tricks (like the awesome Z3 framework).
https://adventofcode.com/2025/
I have never participated in the AoC before. It was WAY more work than I expected, but it was fun and enriching. I accidentally did Day 19 from 2015 - it was linked and I thought it was part of it1! 😀🤦🏻♂️
SPOILER ALERT: some personal insights below, under the image.
https://adventofcode.com/2024/
Some insights after completing this challenge:
-
It took a LOT of time - granted, I'm rusty, but I see many others on the same boat. I couldn't do it with just a couple of hours per day: some took me days to get right. The very last one I only finished on the first day of they year, and only because I got sick and had a lot of time in bed!
-
After day 10, we need to pay really good attention to the problem description, as there's tricky details and/or misleading clues (intentional or not). Several times I realized I was interpreting things slighlty wrong, after spending hours and hours trying.
-
Around day 15 or so, just brute-force the way out doesn't work anymore. Many times I had to spend some good time analyzing the problem, identifying the key aspect and doing some research to refresh my memory on algorithms: graphs, dynamic programing, etc.
-
Speaking about dynamic programing: memoization was key for at least 4 of the problems. As to other classic techniques, I used Dijkstra twice (had to actually remove a 3rd use in exchange for memoization!), Kahn, Bron-Kerbosch, ...
-
All in all, it was great. I loved to check others' solutions after I did mine, and I learned a lot in doing so, from simple Python tricks to really cool and elegant solutions. I don't think I'll be able to do another one end-to-end without risking a divorce, but let's see by December 2025!
Footnotes
-
Maybe because of this, the "curse of Day 19" kicked in, and the 19th of 2024 was the last day I managed to complete... 🙄 ↩

