#110
Sequence of pronunciations
Difficulty: | Medium |
Topics: | seqs |
Write a function that returns
a lazy sequence of "pronunciations" of a sequence of numbers.
A pronunciation of each element in the sequence
consists of the number of repeating identical numbers
and the number itself.
For example, [1 1] is pronounced as [2 1] ("two ones"),
which in turn is pronounced as [1 2 1 1] ("one two, one one") .
Your function should accept an initial sequence of numbers,
and return an infinite lazy sequence of pronunciations,
each element being a pronunciation of the previous element.
(= [[1 1] [2 1] [1 2 1 1]] (take 3 (__ [1]))) | |
(= [3 1 2 4] (first (__[1 1 1 4 4]))) | |
(= [1 1 1 3 2 1 3 2 1 1] (nth (__ [1]) 6)) | |
(= 338 (count (nth (__ [3 2]) 15))) |