Powered by AppSignal & Oban Pro

Day 4

2022/day04.livemd

Day 4

Mix.install([:kino])

Input

input = Kino.Input.textarea("")

Pre-work

ranges =
  input
  |> Kino.Input.read()
  |> String.split(~r/[\n,-]/)
  |> Enum.map(&String.to_integer/1)
  |> Enum.chunk_every(4)

Part 1

Enum.count(ranges, fn [a0, a1, b0, b1] -> (a0 >= b0 and a1 <= b1) or (b0 >= a0 and b1 <= a1) end)

Part 2

Enum.count(ranges, fn [a0, a1, b0, b1] -> (a0 >= b0 and a0 <= b1) or (b0 >= a0 and b0 <= a1) end)