diff --git a/run-length-encoding.py b/run-length-encoding.py new file mode 100644 index 0000000..7e92b86 --- /dev/null +++ b/run-length-encoding.py @@ -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: ")))