Powered by AppSignal & Oban Pro

Day 1: Calorie Counting

2022/day01.livemd

Day 1: Calorie Counting

Mix.install([:kino, :req])

Parsing

input = Kino.Input.textarea("input")
snacks =
  input
  |> Kino.Input.read()
  |> String.split(["\n\n"])
  |> Enum.map(fn elf ->
    elf
    |> String.split("\n")
    |> Enum.reduce(0, &(String.to_integer(&1) + &2))
  end)

Part 1

Enum.max(snacks)

Part 2

snacks
|> Enum.sort(:desc)
|> Enum.take(3)
|> Enum.sum()