# Day03 ```elixir Mix.install([ {:kino, "~> 0.14.2"}, ]) ``` ## Run Me [![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fgit.kev.pub%2Fkev%2Faoc2024%2Fraw%2Fbranch%2Fmain%2Fday01.livemd) ## Input ```elixir input = Kino.Input.textarea("Input") ``` ## Part One ```elixir defmodule PartOne do def run(input) do Regex.scan(~r/mul\((\d+),(\d+)\)/, input) |> Enum.map(fn [_, a, b] -> String.to_integer(a) * String.to_integer(b) end) |> Enum.sum end end input |> Kino.Input.read |> PartOne.run ``` ## Part Two ```elixir input |> Kino.Input.read |> String.split("do()") |> Enum.map(fn s -> s |> String.split("don't()") |> hd end) |> Enum.map(&PartOne.run/1) |> List.flatten |> Enum.sum ```