wip: day 1

This commit is contained in:
Mike Yockey
2025-12-12 21:20:50 -05:00
commit 325cd0b407

26
2025/day1.ex Normal file
View File

@@ -0,0 +1,26 @@
ops = ["L50", "R50", "R1"]
defmodule Dial do
# Initial conditions
def rotate(operations), do: rotate(50, operations, 0)
# When no operations remain, return the number of zeroes
def rotate(_, [], zeroes), do: zeroes
# Compute the new dial position
def rotate(index, [head | tail], zeroes) do
index = case head do
"R" <> number -> index + String.to_integer(number)
"L" <> number -> index - String.to_integer(number)
end
case index do
0 -> rotate(index, tail, zeroes+1)
_ -> rotate(index, tail, zeroes)
end
end
end
dial = Dial.rotate(ops)
IO.puts dial