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

Day 1 - Calorie Counting

day01.livemd

Day 1 - Calorie Counting

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

Part 1 - Who has the most calories?

input = Kino.Input.textarea("Please insert your input")
sample_input =
  input
  |> Kino.Input.read()
  |> String.split("\n\n", trim: true)
  |> Enum.map(fn calories ->
    String.split(calories, "\n", trim: true) |> Enum.map(&String.to_integer/1)
  end)
total_cals =
  sample_input
  |> Enum.map(fn cals ->
    Enum.sum(cals)
  end)

max_cals =
  total_cals
  |> Enum.max()

Part 2 - Sum of top 3 max cals

top_three =
  total_cals
  |> Enum.sort(:desc)
  |> Enum.take(3)
  |> Enum.sum()