Enunciado
Recibes un string s. Devuelve su versión comprimida, donde cada secuencia de caracteres iguales consecutivos se reemplaza por ese carácter seguido del número de veces que se repite.
Por ejemplo, "aabcccccaaa" se comprime a "a2b1c5a3": dos a, una b, cinco c, tres a.
Restricciones
- La comprimida siempre lleva el número, incluso cuando la cuenta es
1. Así,"abc"da"a1b1c1", que es más largo que la entrada. - Distingue mayúsculas de minúsculas:
"zZ"da"z1Z1". - Si
sestá vacío, devuelve el string vacío. - Tiempo O(n). Acumula las partes en una lista y únelas al final con
join, en vez de concatenar con+=dentro del loop; la solución explica por qué.
Ejemplos
| s | resultado |
|---|---|
"aabcccccaaa" | "a2b1c5a3" |
"abc" | "a1b1c1" |
"aaaaaaaaaaaa" | "a12" |
"a" | "a1" |
"" | "" |
Pistas progresivas
0 de 3Intenta resolver el problema antes de ver pistas.