10 lines
312 B
Plaintext
10 lines
312 B
Plaintext
rle(a) := block(
|
|
[n: slength(a), b: "", c: charat(a, 1), k: 1],
|
|
for i from 2 thru n do
|
|
if cequal(c, charat(a, i)) then k: k + 1 else (b: sconcat(b, k, c), c: charat(a, i), k: 1),
|
|
sconcat(b, k, c)
|
|
)$
|
|
|
|
rle("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW");
|
|
"12W1B12W3B24W1B14W"
|