622 B
622 B
Day01
Mix.install([
{:kino, "~> 0.14.2"},
{:decimal, "~> 2.2"}
])
Section
input = Kino.Input.textarea("Input")
input =
input
|> Kino.Input.read
|> String.split("\n")
|> Enum.map(fn l -> String.split(l, " ") end)
|> List.foldl([[],[]], fn [x, y], [xa, ya] ->
[[String.to_integer(x)| xa], [String.to_integer(y)| ya]]
end)
input
|> Enum.map(&Enum.sort/1)
|> Enum.zip
|> Enum.map(fn {x,y} -> abs(x - y) end)
|> Enum.sum
[x, y] = input
f = Enum.frequencies(y)
x
|> Enum.map(fn xx -> xx * (f[xx] || 0) end)
|> Enum.sum