# Day 03 ```elixir Mix.install([:kino_aoc]) ``` ## Parse ```elixir {:ok, puzzle_input} = KinoAOC.download_puzzle("2025", "3", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION")) ``` ```elixir batteries = puzzle_input |> String.split("\n", trim: true) |> Enum.map(fn row -> row |> String.to_charlist() |> Enum.map(& &1 - ?0) end) ``` ```elixir defmodule Joltage do def make_largest(list, n) do to_remove = length(list) - n Enum.reduce(1..to_remove, list, fn _, acc -> make_larger(acc) end) end def make_larger([_]), do: [] def make_larger([a, b | rest]) when a < b, do: [b | rest] def make_larger([b | rest]), do: [b | make_larger(rest)] end ``` ## Part 1 ```elixir Enum.sum_by(batteries, &Integer.undigits(Joltage.make_largest(&1, 2))) ``` ## Part 2 ```elixir Enum.sum_by(batteries, &Integer.undigits(Joltage.make_largest(&1, 12))) ```