mirror of
https://github.com/rjNemo/ai_advent_code_2024
synced 2026-06-06 02:26:44 +00:00
No description
| lib | ||
| priv/inputs/day01 | ||
| test | ||
| .formatter.exs | ||
| .gitignore | ||
| mix.exs | ||
| README.md | ||
Advent of Code 2024
This repository contains solutions for the Advent of Code 2024 programming puzzles, implemented in Elixir.
AI Assistance
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
Project Description
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.
Technology Stack
- Language: Elixir 1.17
Getting Started
Prerequisites
- Elixir 1.17 or later
- Erlang/OTP 24 or later
Installation
- 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
Usage
Running Solutions
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()"
Running Tests
To run all tests:
mix test
To run tests for a specific day:
mix test test/advent_code2024_test.exs
Project Structure
.
├── lib/
│ ├── advent_code2024.ex # Main module
│ └── advent_code2024/
│ └── day1.ex # Day 1 solution
├── test/ # Test files
└── day1/ # Input files
└── input.txt
Contributing
- 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
License
This project is licensed under the MIT License - see the LICENSE file for details.