My solutions for Advent of Code 2025 - a series of daily programming puzzles released throughout December. 🎅
Advent of Code is an Advent calendar of holiday-themed programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.
aoc-2025/
├── README.md
├── day1.ipynb # Day 1 solution
├── day2.ipynb # Day 2 solution
├── ... # Days 3-25 follow the same pattern
└── data/
├── day1-data.txt # Day 1 puzzle input
├── day1-test.txt # Day 1 test case
├── day2-data.txt # Day 2 puzzle input
├── day2-test.txt # Day 2 test case
└── ... # Additional days follow the same pattern
Each day's solution is contained in a Jupyter notebook (dayN.ipynb) with:
- Problem description and approach
- Solution code for Part 1 and Part 2
- Test cases and actual puzzle input
- Performance notes and optimizations
- Day 1: day1.ipynb 🎁
- Day 2: day2.ipynb 🎁
- Day 3: day3.ipynb 🎁
- Day 4: day4.ipynb 🎁
- Day 5: day5.ipynb 🎁
- Day 6: day6.ipynb 🎁
- Day 7: day7.ipynb 🎁
- Day 8: day8.ipynb 🎁
- Day 9: day9.ipynb 🎁
- Day 10: day10.ipynb Part 2 solved with z3 - would like to solve without helper library later
All solutions are implemented in Python using Jupyter notebooks. To run:
- Open the notebook in VS Code or Jupyter
- Execute cells sequentially
- Test data validates the approach before running on actual input
- Solutions prioritize clarity and correctness over performance
- Some solutions include multiple approaches (brute force → optimized)
- Test cases are used to validate logic before running on full input
- Comments explain the problem requirements and solution approach
❄️ Happy Coding! 🎄 Help the elves save the holiday season! 🧝♂️🧝♀️