UniCoreFW

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)