Day 6
Day 6: Tuning Trouble
Day 6: Tuning Trouble
Input
input = 'mjqjpqmgbljsphdztnvjfqwrcgsmlb'
Part 1
defmodule Awesome do
def solve([{head, _} | tail]) do
list = Enum.take(tail, 3)
list
|> Enum.map(fn {a, _} -> a end)
|> Kernel.++([head])
|> Enum.uniq()
|> Enum.count()
|> Kernel.>=(4)
|> if(do: list |> Enum.at(-1) |> elem(1), else: solve(tail))
end
end
input |> Enum.with_index(1) |> Awesome.solve()
Part 2
defmodule Awesome2 do
def solve([{head, _} | tail]) do
list = Enum.take(tail, 13)
list
|> Enum.map(fn {a, _} -> a end)
|> Kernel.++([head])
|> Enum.uniq()
|> Enum.count()
|> Kernel.>=(14)
|> if(do: list |> Enum.at(-1) |> elem(1), else: solve(tail))
end
end
input |> Enum.with_index(1) |> Awesome2.solve()