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! π§ββοΈπ§ββοΈ