blob: 99673a5e8e86848569e5f988279c12343b8bbda5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
start = File.read!("inputs/day10.txt")
digitRegex = ~r/(\d)\1*/
lookAndSayStream =
Stream.iterate(start, fn current ->
Regex.scan(digitRegex, current)
|> Enum.map(fn [seq, _] ->
length = String.length(seq)
type = String.at(seq, 0)
"#{length}#{type}"
end)
|> Enum.join()
end)
[fourtiethEntry] = Stream.drop(lookAndSayStream, 40) |> Enum.take(1)
IO.puts("Fourtieth Entry Length: #{String.length(fourtiethEntry)}")
[fiftiethEntry] = Stream.drop(lookAndSayStream, 50) |> Enum.take(1)
IO.puts("Fiftieth Entry Length: #{String.length(fiftiethEntry)}")
|