Menu
CoddyTech

String Compression

Recibes una cadena s de letras inglesas. Comprímela: reemplaza cada secuencia de dos o más letras iguales consecutivas por esa letra seguida de la longitud de la secuencia, y deja tal cual las letras que aparecen solas. Así, aabccc se convierte en a2bc3. Devuelve la cadena comprimida.

Las mayúsculas y las minúsculas son letras diferentes: aA son dos secuencias de longitud 1.

Función

compress(s: string) → string
sstring
la cadena que se va a comprimir, solo letras inglesas
Devuelvestring
la cadena comprimida, cada secuencia escrita como su letra seguida de su longitud cuando la longitud es mayor que 1

Restricciones

  • 1 ≤ s.length ≤ 2 × 104
  • s contiene solo letras inglesas, de la a a la z y de la A a la Z.
  • La longitud de una secuencia se escribe en decimal y puede tener varios dígitos.

Ejemplos

Entrada
s = "aabccc"
Salida
"a2bc3"
Explicación
Las rachas son aa, b y ccc. Se convierten en a2, b (una letra sola no lleva contador) y c3.
challenge icon

Para ir más allá

Escribe la operación inversa: dado un texto comprimido como ab12, reconstruye el original. ¿Cómo lees un número de repeticiones que tiene varios dígitos?

Restablecer código
def compress(s):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumento

s = "aabccc"

Salida Esperada

"a2bc3"