Saltar al contenido

Comprime el texto

Enunciado

Una forma vieja y sencilla de comprimir: cambiar cada carrera de caracteres repetidos por cuántos son y el carácter. Así "AABBBCCCC" se guarda como "2A3B4C".

Escribe una función que reciba un texto y regrese esa versión comprimida. Las reglas: solo cuentan los repetidos seguidos, así que "AABAA" da "2AB2A". Un carácter solo va sin número: "XYZ" se queda igual. Las mayúsculas y las minúsculas son distintas, y los espacios también se comprimen. Con un texto vacío regresas un texto vacío.

Ejemplos

  • Texto vacío

    "" → ""

  • Sin repetidos

    "XYZ" → "XYZ"

  • Todo repetido

    "AABBBCCCC" → "2A3B4C"

  • Minúsculas

    "aabbbcccc" → "2a3b4c"

  • Solo los seguidos

    "AABAA" → "2AB2A"

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def comprime_texto(texto):
    pass

JavaScript

function comprimeTexto(texto) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n)

Ver todos los retos →