Day Three
This commit is contained in:
parent
10eb1838c7
commit
0f99950e26
|
@ -0,0 +1,45 @@
|
||||||
|
# Day03
|
||||||
|
|
||||||
|
```elixir
|
||||||
|
Mix.install([
|
||||||
|
{:kino, "~> 0.14.2"},
|
||||||
|
])
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run Me
|
||||||
|
|
||||||
|
[](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
|
||||||
|
```
|
Loading…
Reference in New Issue