Welcome to my Advent of Code 2025 journey! This repository contains my solutions to the daily programming puzzles, implemented entirely in Rust.
This is my first ever project using Rust, so this repository serves a dual purpose:
- Learning Rust: Getting hands-on experience with Rust's syntax and ecosystem
- Solving Puzzles: Tackling the creative and challenging problems that Advent of Code presents
Expect to see my code evolve as I learn more about Rust patterns and best practices throughout December!
.
βββ day01/
β βββ puzzle/
β β βββ puzzle.txt
β β βββ puzzle_input.txt
β βββ part1.rs
β βββ part2.rs
βββ day02/
β βββ ...
βββ .gitignore
βββ .gitattributes
βββ README.md
Each day's solution is organized in its own directory with:
puzzle/- Contains the puzzle description and input datapart1.rs- Solution for Part 1part2.rs- Solution for Part 2
- Rust (latest stable version)
# Compile and run a specific day's solution
cd day01
rustc part1.rs && ./part1
rustc part2.rs && ./part2| Day | Part 1 | Part 2 | Notes |
|---|---|---|---|
| Day 1 | β | β | Secret Entrance - Dial rotations and zero crossings |
| Day 2 | β | β | Gift Shop - Finding repeating digit patterns |
| Day 3 | β | β | Lobby - Battery joltage optimization with subsequences |
| Day 4 | β | β | Printing Department - Grid neighbor analysis and iterative removal |
| Day 5 | β | β | Cafeteria - Range checking and merging overlapping intervals |
| Day 6 | β | β | Trash Compactor - Cephalopod math with LTR and RTL column parsing |
| Day 7 | β | β | Laboratories - Tachyon beam splitting and path counting with memoization |
| Day 8 | β | β | Playground - Minimum spanning tree with Union-Find for 3D junction boxes |
| Day 9 | β | β | Movie Theater - Largest rectangle with polygon containment validation |
| Day 10 | β | β | Machine Room - Binary toggles (P1) and integer LP with RREF optimization (P2) |
| Day 11 | β | β | Reactor - Graph path counting with DFS and memoization |
| Day 12 | β | β¬ | Christmas Tree Farm - Polyomino packing with backtracking (no Part 2) |
Legend: β Complete | β¬ Not Started | π§ In Progress
- Understand Rust's ownership and borrowing system
- Master pattern matching and error handling
- Work with Rust's iterator patterns
- Explore common crates and libraries
- Learn about performance optimization in Rust
This is a personal learning project, but I'm open to feedback and suggestions! If you spot something that could be improved or written more idiomatically, feel free to open an issue or reach out.
Thanks to Eric Wastl for creating Advent of Code and providing such an engaging way to learn and practice programming!
π π