Formatted

This commit is contained in:
2025-12-13 15:44:10 -05:00
parent d34cf3575c
commit 42f56993f1
3 changed files with 21 additions and 17 deletions

View File

@@ -1,8 +1,9 @@
filepath = Path.join([File.cwd!, "lib", "year_2025", "day1_input.txt"])
ops = File.stream!(filepath)
filepath = Path.join([File.cwd!(), "lib", "year_2025", "day1_input.txt"])
ops =
File.stream!(filepath)
|> Stream.map(&String.trim_trailing/1)
|>Enum.to_list
|> Enum.to_list()
{_, zeroes} = AdventOfCode.Year2025.Dial.rotate(ops)
IO.puts(zeroes)

View File

@@ -7,7 +7,8 @@ defmodule AdventOfCode.Year2025.Dial do
# Compute the new dial position
def rotate(index, [head | tail], zeroes) do
{ new_index, _crosses } = case head do
{new_index, _crosses} =
case head do
"R" <> number -> rotate_right(index, String.to_integer(number))
"L" <> number -> rotate_left(index, String.to_integer(number))
end
@@ -21,6 +22,7 @@ defmodule AdventOfCode.Year2025.Dial do
defp rotate_right(index, number) do
crosses = div(number, 100)
diff = index + rem(number, 100)
case diff do
diff when diff <= 99 -> {diff, crosses}
diff when diff > 99 -> {diff - 100, crosses + 1}
@@ -30,6 +32,7 @@ defmodule AdventOfCode.Year2025.Dial do
defp rotate_left(index, number) do
crosses = div(number, 100)
diff = index - rem(number, 100)
case diff do
diff when diff >= 0 -> {diff, crosses}
diff when diff < 0 -> {diff + 100, crosses + 1}