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

day 1

livebook/2022/day1.livemd

day 1

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

Section

input_b = Kino.Input.textarea("Paste input here")
input = """
1000
2000
3000

4000

5000
6000

7000
8000
9000

10000
"""

Part 1

# input
input_b
|> Kino.Input.read()
|> String.split("\n")
|> Enum.chunk_by(&(&1 == ""))
|> Enum.filter(&(&1 != [""]))
|> Enum.map(fn e -> Enum.map(e, &String.to_integer/1) end)
|> Enum.map(&Enum.sum(&1))
|> Enum.max()

Part 2

# input
input_b
|> Kino.Input.read()
|> String.split("\n")
|> Enum.chunk_by(&(&1 == ""))
|> Enum.filter(&(&1 != [""]))
|> Enum.map(fn e -> Enum.map(e, &String.to_integer/1) end)
|> Enum.map(&Enum.sum(&1))
|> Enum.sort()
|> Enum.take(-3)
|> Enum.sum()
[100_000, 4000, 6000, 10000, 11000, 24000]
|> Enum.sort()