25 lines
596 B
Text
25 lines
596 B
Text
|
|
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))
|