Powered by AppSignal & Oban Pro

Day 1

2022/elixir_2022/day_01.livemd

Day 1

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

Input

input = Kino.Input.textarea("Please paste your input file:")

Helpers

parsed_input =
  input
  |> Kino.Input.read()
  |> String.splitter("\n\n")
  |> Enum.map(fn line ->
    String.split(line, "\n", trim: true)
    |> Enum.map(&String.to_integer/1)
    |> Enum.sum()
  end)

Part 1

parsed_input
|> Enum.max()

Part 2

parsed_input
|> Enum.sort()
|> Enum.reverse()
|> Enum.take(3)
|> Enum.sum()