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

Day 01

2022/day01.livemd

Day 01

Part 1

File.stream!("./2022/day01input.txt")
|> Stream.map(fn
  "\n" -> -1
  line -> line |> String.trim() |> String.to_integer()
end)
|> Stream.chunk_by(&(&1 == -1))
|> Stream.map(&Enum.sum/1)
|> Enum.max()

Part 2

File.stream!("./2022/day01input.txt")
|> Stream.map(fn
  "\n" -> -1
  line -> line |> String.trim() |> String.to_integer()
end)
|> Stream.chunk_by(&(&1 == -1))
|> Stream.map(&Enum.sum/1)
|> Enum.sort(:desc)
|> Enum.take(3)
|> Enum.sum()