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
|
defmodule AdventCode2024.Day1 do
|
||||||
|
@behaviour AdventCode2024.Solution
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Solution for Advent of Code 2024 - Day 1: Historian Hysteria
|
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