Powered by AppSignal & Oban Pro

Day 1

livebook.livemd

Day 1

Part 1

Section

Mix.install([{:kino, github: "livebook-dev/kino"}])
input = Kino.Input.textarea("Paste input file:")
Kino.Input.read(input)
|> String.split("\n", trim: true)
|> Enum.map(fn x -> String.to_integer(x) end)
|> Enum.chunk_every(2, 1, :discard)
|> Enum.filter(fn [left, right] -> right > left end)
|> Enum.count()

Part 2

input = Kino.Input.textarea("Paste input file:")
Kino.Input.read(input)
|> String.split("\n", trim: true)
|> Enum.map(fn x -> String.to_integer(x) end)
|> Enum.chunk_every(3, 1, :discard)
|> Enum.chunk_every(2, 1, :discard)
|> Enum.count(fn [x, y] -> Enum.sum(y) > Enum.sum(x) end)