4 ms·
Haskell in REPL: Prelude> :m Data.List Prelude Data.List> let f xs = [(head ys, length ys) | ys <- group xs] Prelude Data.List> f "aaaabbbcca"
by dirkt 6y ago
Haskell in REPL:
Prelude> :m Data.List
Prelude Data.List> let f xs = [(head ys, length ys) | ys <- group xs]
Prelude Data.List> f "aaaabbbcca"
[('a',4),('b',3),('c',2),('a',1)]
Of course using the "group" function instead of programming it myself is cheating a bit ...