Add simple run length encoding program

This commit is contained in:
2021-02-04 22:37:30 +00:00
parent 3c71cdc473
commit ef890ccba9

19
run-length-encoding.py Normal file
View File

@@ -0,0 +1,19 @@
def sameChar(chars):
if len(chars) < 2 or chars[0] != chars[1]:
return 1
else:
return 1 + sameChar(chars[1:])
def RLE(uncompressed):
total_chars = 0
compressed = []
while total_chars < len(uncompressed):
char_count = sameChar(uncompressed[total_chars:])
compressed.append(f"{uncompressed[total_chars]} {char_count}")
total_chars += char_count
return " ".join(compressed)
print(RLE(input("Uncompressed text: ")))