Aoc 2022 - Day 1
Mix.install([
{:kino, "~> 0.7.0"}
])
Section
input = Kino.Input.textarea("")
input
|> Kino.Input.read()
|> String.split("\n")
|> Enum.chunk_while(
[],
fn elem, acc ->
if elem == "" do
{:cont, Enum.reverse(acc), []}
else
{:cont, [elem | acc]}
end
end,
fn
[] -> {:cont, []}
acc -> {:cont, Enum.reverse(acc), []}
end
)
|> Enum.map(&Enum.reduce(&1, 0, fn s, acc -> String.to_integer(s) + acc end))
|> Enum.sort(:desc)
|> Enum.take(3)
|> Enum.sum()