summaryrefslogtreecommitdiff
path: root/comp/work/55/rle.py
diff options
context:
space:
mode:
Diffstat (limited to 'comp/work/55/rle.py')
-rw-r--r--comp/work/55/rle.py28
1 files changed, 5 insertions, 23 deletions
diff --git a/comp/work/55/rle.py b/comp/work/55/rle.py
index c2c43da..a8c88ea 100644
--- a/comp/work/55/rle.py
+++ b/comp/work/55/rle.py
@@ -1,30 +1,12 @@
def rle(s):
- en = ""
- c = s[0]
- cc = 0
+ en, c, cc = "", s[0], 0
for i in s:
if i == c: cc += 1
else:
- en += (c if (cc == 1) else str(cc) + c)
- c = i
- cc = 1
- en += (c if (cc == 1) else str(cc) + c)
+ en += (c if (cc == 1) else c + str(cc))
+ c, cc = i, 1
+ en += (c if (cc == 1) else c + str(cc))
return en
-def rld(s):
- de = ""
- cc = ""
- c = ''
- for i in s:
- if i.isdigit(): cc += i
- else:
- c = i
- if not cc.isdigit(): cc = "1"
- de += c * int(cc)
- cc = ""
-
- return de
-
-
-print(rld(rle("abbbcccd")))
+print(rle("abbbcccd"))