RosettaCodeData/Task/Run-length-encoding/11l/run-length-encoding.11l

25 lines
596 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
F encode(input_string)
V count = 1
V prev = Char("\0")
[(Char, Int)] lst
L(character) input_string
I character != prev
I prev != Char("\0")
lst.append((prev, count))
count = 1
prev = character
E
count++
lst.append((input_string.last, count))
R lst
F decode(lst)
V q =
L(character, count) lst
q = character * count
R q
V value = encode(aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa)
print(Encoded value is value.map(v -> String(v[1])v[0]))
print(Decoded value is decode(value))