Day 4
Binary Diagnostic
https://adventofcode.com/2021/day/4
https://adventofcode.com/2021/day/4/input
Input
raw_input =
Stream.iterate("", fn _ -> IO.gets("input") end)
|> Stream.take_while(&(&1 != :eof))
|> Stream.map(&String.trim/1)
|> Stream.reject(&(&1 == ""))
|> Enum.to_list()
[raw_draw_numbers | raw_boards] = raw_input
draw_numbers =
raw_draw_numbers
|> String.split(",")
|> Enum.map(&String.to_integer/1)
boards =
raw_boards
|> Enum.map(fn line ->
String.split(line, " ")
|> Enum.reject(&(&1 == ""))
|> Enum.map(&String.to_integer/1)
end)
|> Enum.chunk_every(5)
{draw_numbers, boards}
Part 1
Part 2