String Compression

Compress string: "aaabb" -> "a3b2".

Logic BuildingAdvanced
Logic Building
# Take string
s = input("Enter string: ")

# Compress
if not s:
    compressed = ""
else:
    compressed = ""
    count = 1
    for i in range(1, len(s)):
        if s[i] == s[i-1]:
            count += 1
        else:
            compressed += s[i-1] + str(count)
            count = 1
    compressed += s[-1] + str(count)

print(f"Compressed: {compressed}")

Output

Enter string: aaabbcc
Compressed: a3b2c2

Count consecutive characters.

Key Concepts:

  • Track consecutive count
  • Append char + count when changes
  • Handle last group