2015-11-24 20:53:07 +01:00
|
|
|
from itertools import groupby
|
|
|
|
|
from re import sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def decode(string):
|
|
|
|
|
return sub(r'(\d+)(\D)', lambda m: m.group(2) * int(m.group(1)), string)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def encode(string):
|
|
|
|
|
def single_helper(k, g):
|
2017-10-23 12:17:07 -05:00
|
|
|
size = len(list(g))
|
|
|
|
|
return k if size == 1 else str(size) + k
|
2015-11-24 20:53:07 +01:00
|
|
|
return ''.join(single_helper(key, group) for key, group in groupby(string))
|