decompress()
Decompress a given string, which is compressed using run-length encoding.
Implementation
Args: comp: The compressed string to be decompressed Returns: The decompressed string
Example
decompress("2a3b4c")
Expected output: "aaabbbccc"
Source Code
def decompress(comp: str) -> str:
result = []
i = 0
while i < len(comp):
# Extract the number (count of characters)
count = 0
while i < len(comp) and comp[i].isdigit():
count = count * 10 + int(comp[i]) # Handle multi-digit counts
i += 1
# Extract the character
if i < len(comp):
char = comp[i]
result.append(char * count) # Append repeated character
i += 1
return "".join(result)