mirror of
https://github.com/rjNemo/ai_advent_code_2024
synced 2026-06-06 02:26:44 +00:00
feat: Add Solution behaviour for standardizing Advent of Code daily solutions
This commit is contained in:
parent
9869ade615
commit
85ebc05ead
2 changed files with 30 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
|||
defmodule AdventCode2024.Day1 do
|
||||
@behaviour AdventCode2024.Solution
|
||||
@moduledoc """
|
||||
Solution for Advent of Code 2024 - Day 1: Historian Hysteria
|
||||
|
||||
|
|
|
|||
29
lib/advent_code2024/solution.ex
Normal file
29
lib/advent_code2024/solution.ex
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
defmodule AdventCode2024.Solution do
|
||||
@moduledoc """
|
||||
Behaviour module defining the interface for Advent of Code daily solutions.
|
||||
"""
|
||||
|
||||
@doc """
|
||||
Solves Part 1 of a daily challenge.
|
||||
|
||||
## Parameters
|
||||
- input_file: Path to input file
|
||||
|
||||
## Returns
|
||||
- `{:ok, result}` where result is the solution
|
||||
- `{:error, reason}` if processing fails
|
||||
"""
|
||||
@callback solve(input_file :: String.t()) :: {:ok, any()} | {:error, String.t()}
|
||||
|
||||
@doc """
|
||||
Solves Part 2 of a daily challenge.
|
||||
|
||||
## Parameters
|
||||
- input_file: Path to input file
|
||||
|
||||
## Returns
|
||||
- `{:ok, result}` where result is the solution
|
||||
- `{:error, reason}` if processing fails
|
||||
"""
|
||||
@callback solve_part2(input_file :: String.t()) :: {:ok, any()} | {:error, String.t()}
|
||||
end
|
||||
Loading…
Reference in a new issue