No description
Find a file
Ruidy (aider) 998b6f6405
fix: Correct MASAS pattern detection in Day04 grid search
fix: Refactor X-MAS pattern detection in Day04 solution

fix: Remove extra `end` in day4.ex module
2024-12-05 10:36:32 +01:00
lib fix: Correct MASAS pattern detection in Day04 grid search 2024-12-05 10:36:32 +01:00
priv/inputs feat: solve part 1 2024-12-05 10:36:32 +01:00
test fix: Resolve Day04 grid processing and X-MAS pattern matching 2024-12-05 10:36:32 +01:00
.formatter.exs project scaffold 2024-12-01 09:46:47 +01:00
.gitignore project scaffold 2024-12-01 09:46:47 +01:00
mix.exs project scaffold 2024-12-01 09:46:47 +01:00
README.md docs: Add AI assistance details to README.md 2024-12-01 16:42:09 +01:00

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

  1. Clone the repository:
git clone https://github.com/yourusername/advent_code_2024.git
cd advent_code_2024
  1. Fetch dependencies:
mix deps.get
  1. 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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-solution)
  3. Commit your changes (git commit -am 'Add amazing solution')
  4. Push to the branch (git push origin feature/amazing-solution)
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.