Advent of Code 2015 - Day 1
Setup
Mix.install([
{:kino, "~> 0.4.1"}
])
:ok
input = Kino.Input.textarea("Please enter the input:")
Part 1
input
|> Kino.Input.read()
|> String.to_charlist()
|> Enum.reduce(0, fn
?(, floor -> floor + 1
?), floor -> floor - 1
end)
138
Part 2
input
|> Kino.Input.read()
|> String.to_charlist()
|> Enum.reduce_while({0, 0}, fn
_, {-1, n} -> {:halt, n}
?(, {floor, n} -> {:cont, {floor + 1, n + 1}}
?), {floor, n} -> {:cont, {floor - 1, n + 1}}
end)
1771