Implementa la codificación por longitud de racha y la descodificación.
La codificación por longitud de racha (RLE) es una forma sencilla de compresión de datos en la que las rachas (elementos de datos consecutivos) se sustituyen por un único valor de datos y su recuento.
Por ejemplo, podemos representar los 53 caracteres originales con solo 13.
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
La RLE permite reconstruir perfectamente los datos originales a partir de los datos comprimidos, lo que la convierte en una compresión de datos sin pérdida.
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
Por simplificar, puedes suponer que el string sin codificar solo contendrá las letras de la A a la Z (mayúsculas o minúsculas) y espacios en blanco. De esta forma, los datos que se van a codificar nunca contendrán números, y los números dentro de los datos que se van a descodificar siempre representan el recuento del carácter siguiente.
Regístrate en Exercism para aprender y dominar Vim script con 89 ejercicios y mentoría humana real, todo gratis.