Day 05
Mix.install([
:kino_aoc,
:range_set
])
Parse
{:ok, puzzle_input} =
KinoAOC.download_puzzle("2025", "5", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
[fresh, ingridients] = String.split(puzzle_input, "\n\n")
fresh =
fresh
|> String.split()
|> Enum.map(fn range ->
[a, b] = range |> String.split("-") |> Enum.map(&String.to_integer/1)
a..b//1
end)
|> RangeSet.new()
ingridients =
ingridients
|> String.split()
|> Enum.map(&String.to_integer/1)
Part 1
Enum.count(ingridients, & &1 in fresh)
Part 2
Enum.count(fresh)