Files
python/exercises/practice/run-length-encoding/.meta/example.py

14 lines
379 B
Python
Raw Normal View History

from itertools import groupby
from re import sub
def decode(string):
2021-11-23 14:05:17 +01:00
return sub(r'(\d+)(\D)', lambda main: main.group(2) * int(main.group(1)), string)
def encode(string):
2021-11-23 14:05:17 +01:00
def single_helper(key, group):
size = len(list(group))
return key if size == 1 else str(size) + key
return ''.join(single_helper(key, group) for key, group in groupby(string))