Welcome to my Advent of Code 2025 repository!
This repository contains Python solutions for all 12 days of Advent of Code 2025.
Each solution prioritizes correctness and clear structure, with performance considerations applied where required by the problem constraints.
- Provide correct and complete solutions for each Advent of Code problem
- Keep implementations readable and logically structured
- Use appropriate algorithms and data structures per problem requirements
- Maintain consistency across all solution files
Advent_of_code_2025/
βββ aoc/
βββ day01/
β βββ part1.py
β βββ part2.py
β βββ input.txt
βββ day02/
βββ ...
βββ day12/
βββ utils/
βββ common.py
βββ __init__.pyEach day contains:
part1.pyβ solution for Part 1part2.pyβ solution for Part 2input.txtβ puzzle input- (the input helpers live inside
aoc/utils/common.py)
From the project root, run any day using module execution:
python -m aoc.dayXX.part1
python -m aoc.dayXX.part2All solutions use Python 3.11.14.
Depending on the day, solutions may involve:
- Graph traversal (DFS / BFS)
- Path counting with memoization
- Backtracking with pruning and ordering heuristics
- Flood fill and region expansion
- Bitmask / bitboard representations
- Constraint satisfaction and feasibility checks
- Greedy and problem-specific strategies
- Connected component construction and merging
- Grid and coordinate-based geometry
- Shape normalization via rotation and reflection
Later problems required careful state-space reduction and performance-driven design to remain tractable.
This project is licensed under the MIT License.