This repository contains my solutions to the Advent of Code 2023 challenges. Advent of Code is an annual series of programming puzzles that can be solved in any programming language.
advent-of-code-2023/
├── day01/
│ ├── input.txt
│ ├── solution.py
│ └── README.md
├── day02/
│ ├── input.txt
│ ├── solution.py
│ └── README.md
└── ...
Each day's directory contains:
input.txt
: The puzzle inputsolution.py
: The Python solution for both partsREADME.md
: Problem description and notes
- Python 3.8 or higher
cd dayXX
python solution.py
Day | Part 1 | Part 2 | Notes |
---|---|---|---|
Day 1 | ⭐ | ⭐ | So far so easy |
Day 2 | |||
Day 3 | |||
Day 4 | |||
Day 5 | |||
Day 6 | |||
Day 7 | |||
Day 8 | |||
Day 9 | |||
Day 10 | |||
Day 11 | |||
Day 12 | |||
Day 13 | |||
Day 14 | |||
Day 15 | |||
Day 16 | |||
Day 17 | |||
Day 18 | |||
Day 19 | |||
Day 20 | |||
Day 21 | |||
Day 22 | |||
Day 23 | |||
Day 24 | |||
Day 25 |
- Solutions are implemented in Python, focusing on readability and maintainability
- Each solution includes:
- Part 1 and Part 2 implementations
- Input parsing
- Test cases when applicable
- Performance optimizations where necessary
Each solution typically follows this structure:
def parse_input(input_data):
# Parse the input data
pass
def solve_part1(data):
# Solve part 1
pass
def solve_part2(data):
# Solve part 2
pass
if __name__ == "__main__":
# Read input
input_data = open("input.txt").read().strip()
data = parse_input(input_data)
# Solve parts
print(f"Part 1: {solve_part1(data)}")
print(f"Part 2: {solve_part2(data)}")
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ Stars collected: 2/50