Powered by AppSignal & Oban Pro

Day 1: Calorie Counting

2022/day-01.livemd

Day 1: Calorie Counting

Mix.install([{:kino, "~> 0.7.0"}])

Day 1

sample_input = Kino.Input.textarea("Paste Sample Input")
real_input = Kino.Input.textarea("Paste Raw Input")
sum_most_calories = fn input, count ->
  input
  |> Kino.Input.read()
  |> String.split("\n\n")
  |> Enum.map(fn list ->
    list |> String.split() |> Enum.map(&String.to_integer/1) |> Enum.sum()
  end)
  |> Enum.sort()
  |> Enum.reverse()
  |> Enum.take(count)
  |> Enum.sum()
  |> dbg()
end

sum_most_calories.(sample_input, 1)
sum_most_calories.(real_input, 1)
sum_most_calories.(sample_input, 3)
sum_most_calories.(real_input, 3)