This commit is contained in:
Kevin Hughes 2024-12-01 19:23:51 +00:00
parent 182bbf542c
commit bd3898367d
Signed by: kev
GPG Key ID: 4F56A079AF7A66A6
1 changed files with 43 additions and 0 deletions

43
day01.livemd Normal file
View File

@ -0,0 +1,43 @@
# Day01
```elixir
Mix.install([
{:kino, "~> 0.14.2"},
{:decimal, "~> 2.2"}
])
```
## Section
```elixir
input = Kino.Input.textarea("Input")
```
```elixir
input =
input
|> Kino.Input.read
|> String.split("\n")
|> Enum.map(fn l -> String.split(l, " ") end)
|> List.foldl([[],[]], fn [x, y], [xa, ya] ->
[[String.to_integer(x)| xa], [String.to_integer(y)| ya]]
end)
```
```elixir
input
|> Enum.map(&Enum.sort/1)
|> Enum.zip
|> Enum.map(fn {x,y} -> abs(x - y) end)
|> Enum.sum
```
```elixir
[x, y] = input
f = Enum.frequencies(y)
x
|> Enum.map(fn xx -> xx * (f[xx] || 0) end)
|> Enum.sum
```