This repository contains my solutions for the Advent of Code 2025 programming puzzles, implemented in Go, a language I am currently learning.
Each day lives in its own folder (day_1, day_2, day_3, day_4, …) with its own go.mod, a small command-line entrypoint under cmd/, and an internal package that holds the core logic.
day_1/– solution for Day 1 (dial rotations). Seeday_1/README.mdfor full details.day_2/– solution for Day 2 (invalid product ID ranges). Seeday_2/README.mdfor full details.day_3/– solution for Day 3 (battery banks, 12-digit greedy voltage). Seeday_3/README.mdfor full details.day_4/– solution for Day 4 (accessible rolls removal using a forklift). Seeday_4/README.mdfor full details.day_5/– solution for Day 5 (fresh ingredient ranges with compaction). Seeday_5/README.mdfor full details.day_6/– solution for Day 6 (column-wise arithmetic with cell transposition). Seeday_6/README.mdfor full details.day_7/– solution for Day 7 (multiverse timeline splitter with tachyon beams). Seeday_7/README.mdfor full details.day_8/– solution for Day 8 (junction box playground wiring). Seeday_8/README.mdfor full details.day_9/– solution for Day 9 (movie theater seating and largest rectangle). Seeday_9/README.mdfor full details.day_10/– solution for Day 10 (factory machine joltage configuration using Hermite Normal Form). Seeday_10/README.mdfor full details.day_11/– solution for Day 11 (reactor device graph with constrained path counting). Seeday_11/README.mdfor full details.day_12/– solution for Day 12 (packing weird-shaped presents under Christmas trees). Seeday_12/README.mdfor full details.
Each day generally includes:
- An
input.txtfile containing the puzzle input. - A
Makefilewith convenience targets to run the solution. - Unit tests under
internal/...validating the core logic.
To run a given day, cd into the corresponding folder and either use make:
cd day_1
make run ARGS="input.txt"or call go run directly on the command:
cd day_1
go run ./cmd input.txtReplace day_1 with day_2, day_3, day_4, … to run other days.