Every December I tell myself I’m going to do all 25 days of Advent of Code, and every December I make it about a week in before something else swallows the rest of the month. 2025 was no different — I got through days 1 through 6 (both parts each, so twelve stars), and then the commits just stop.
Python, no framework, one file per part. d1.py, d1_p2.py, and so on. Inputs live in inputs/ and aren’t committed. That’s the whole setup.
Day 3 is the one I’m least proud of. The problem was something like “find the largest 12-digit number you can form by picking digits in order from a string.” My first instinct was to nest twelve for loops, which is exactly as horrifying as it sounds — you can still see it commented out at the top of d3_p2.py as a monument to bad ideas. I rewrote it as a greedy pass after I came to my senses.
Day 6 was my favorite. It was a worksheet of “cephalopod math” where you had to parse numbers laid out vertically in columns, with the operator sitting at the bottom of each column block. Part 2 then told you the cephalopods read right-to-left within each problem, so the whole thing needed reshuffling. Transposing columns, finding the operator row, reversing order — it was the kind of fiddly parsing puzzle I actually enjoy.
After day 6 the puzzles got harder and I had final projects, and that was that. Maybe I’ll come back to it during winter break. Maybe I won’t. The repo is small and self-contained, and if you want to compare solutions or laugh at the twelve nested for loops, here it is: github.com/EricSpencer00/AoC2025.
Written with AI.