Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Advent of Code 2024 - Day 1

2024/day01.livemd

Advent of Code 2024 - Day 1

Section

{lhs, rhs} = File.read!(File.cwd!() <> "/advent-of-code/2024/day01.input")
|> String.split()
|> Enum.map(&amp;String.to_integer/1)
|> Enum.with_index()
|> Enum.split_with(fn {_, i} -> rem(i, 2) == 0 end)
Enum.zip(Enum.sort(lhs), Enum.sort(rhs))
|> Enum.map(fn {{a, _}, {b, _}} -> abs(a-b) end)
|> Enum.sum()
rs = rhs |> Enum.map(&amp;elem(&amp;1, 0)) |> Enum.frequencies()

lhs
|> Enum.map(&amp;elem(&amp;1, 0))
|> Enum.map(&amp;(&amp;1 * Map.get(rs, &amp;1, 0)))
|> Enum.sum()