Advent of Code 2025 in Summary
20 Dec 2025 #csharp #codingI ran my first Advent challenge in 2022.
Instead of an Advent of Code, I ran an Advent of Posts. I wrote 22 posts, mostly about coding, in the days before Christmas. I missed two days but I declared the mission complete.
This year, I decided to follow the Advent of Code. For the first time, this year included only 12 puzzles instead of 25.
I challenged myself to write “functionalish” solutions. Sometimes that was a bad idea.
It wasn’t a bunch of LeetCode problems
The puzzles weren’t disconnected problems.
Every day started with a short story. The first day we arrived at the North Pole. Right away, we faced a setback that made us solve a puzzle. As we got inside the North Pole, there was always a complication.
In spite of the problems, elves were always organized. By the time we helped, they already had sorted out some details. That was our puzzle input. I guess elves are lazy or simply distracted.
There was a connecting story from one day to the next.
It wasn’t funny some days
My goal going through the challenge was to ignite my coding spark.
But some puzzles had ambiguous instructions or I overcomplicated the solution trying to follow a functional approach. I got stuck solving Day 8 and Day 11. I had to look up clues to get them done. Arrggg!
Those days, I got stuck with a stupid Blazor issue at work. Getting stuck after work wasn’t pleasant at all. The challenge was supposed to be funny and enjoyable. I didn’t need another source of stress.
My solutions
Despite the tough days, I eventually solved them all. OK, I cheated a bit.
Here are my solutions:
- Day 1: Unlocking the North Pole
- Day 2: Finding Invalid Product IDs
- Day 3: Calculating the Joltage of Batteries
- Day 4: Counting Rolls of Paper
- Day 5: Counting Fresh Ingredients
- Day 6: Doing Cephalopods’ Math
- Day 7: Splitting Tachyon Beams
- Day 8: Connecting Junction Boxes
- Day 9: Finding the Largest Rectangle of Red Tiles
- Day 10: Initializing Factory Machines
- Day 11: Connecting the Reactor With a Server Rack
- Day 12: Packaging Presents
From all the puzzles, one stood out. Day 12. It was playing Tetris with presents. My first thought was brute force with backtracking. After struggling with Day 11, I knew there was a simple alternative. And my intuition paid off.
Biggest lessons
Apart from collecting more extension methods, here are the biggest lessons I took away:
- Always strive for simple, stupid solutions.
- LINQ can take you a long way. I solved almost all the puzzles using LINQ.
- Review data structures. Once more, I was trolled by trees.
See you next year for another Advent of Code or maybe another Advent of Posts.
Advent of Code really sharpens your problem-solving skills. But coding isn’t just about puzzles. It’s also about teamwork, collaboration, and many skills I share in my book, Street-Smart Coding: 30 Ways to Get Better at Coding. That’s the roadmap I wish I’d known from day one to become a senior coder.