Implementa la codificación y decodificación por longitud de rachas.
La codificación por longitud de rachas (RLE) es una forma sencilla de compresión de datos, en la que las rachas (elementos de datos consecutivos) se reemplazan por un solo valor de datos junto con su conteo.
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"
Para simplificar, puedes asumir que el string sin codificar solo contendrá las letras de la A a la Z (ya sea en minúscula o en mayúscula) 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 decodificar siempre representan el conteo del carácter siguiente.
Regístrate en Exercism para aprender y dominar ABAP con 54 ejercicios y mentoría humana real, todo gratis.