This repository contains solutions for the Advent of Code 2024 programming puzzles, implemented in Elixir.
This project was developed with the assistance of AI tools:
- Aider - AI coding assistant
- Claude (Sonnet) - Anthropic's AI model for pair programming
The AI tools helped with:
- Code structure and organization
- Problem-solving approaches
- Testing strategies
- Documentation
Advent of Code is an annual set of Christmas-themed programming challenges that follow an advent calendar. Each day, a new two-part puzzle is released. This project provides solutions to these puzzles using Elixir, demonstrating functional programming concepts and Elixir-specific features.
- Language: Elixir 1.17
- Elixir 1.17 or later
- Erlang/OTP 24 or later
- Clone the repository:
git clone https://github.com/yourusername/advent_code_2024.git
cd advent_code_2024
- Fetch dependencies:
mix deps.get
- Compile the project:
mix compile
To run a specific day's solution:
# Run Day 1 solution
mix run -e "AdventCode2024.solve_day1() |> IO.inspect()"
# Run Day 1 Part 2 solution
mix run -e "AdventCode2024.solve_day1_part2() |> IO.inspect()"
To run all tests:
mix test
To run tests for a specific day:
mix test test/advent_code2024_test.exs
.
├── lib/
│ ├── advent_code2024.ex # Main module
│ └── advent_code2024/
│ └── day1.ex # Day 1 solution
├── test/ # Test files
└── day1/ # Input files
└── input.txt
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-solution
) - Commit your changes (
git commit -am 'Add amazing solution'
) - Push to the branch (
git push origin feature/amazing-solution
) - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.