Trilhas
/
Crystal
Crystal
/
Exercícios
/
Codificação run-length
Codificação run-length

Codificação run-length

Fácil

Instruções

Implemente a codificação e a decodificação run-length.

A codificação run-length (RLE) é uma forma simples de compressão de dados, em que as sequências (elementos de dados consecutivos) são substituídas por um único valor de dado e uma contagem.

Por exemplo, podemos representar os 53 caracteres originais com apenas 13.

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

A RLE permite reconstruir perfeitamente os dados originais a partir dos dados comprimidos, o que a torna uma compressão de dados sem perdas.

"AABCCCDEEEE"  ->  "2AB3CD4E"  ->  "AABCCCDEEEE"

Para simplificar, você pode assumir que a string não codificada conterá apenas as letras de A a Z (maiúsculas ou minúsculas) e espaços em branco. Assim, os dados a serem codificados nunca conterão números, e os números dentro dos dados a serem decodificados sempre representam a contagem do caractere seguinte.


Fonte

WikipediaO link abre em uma nova janela ou aba
Editar via GitHub O link abre em uma nova janela ou aba
Crystal Exercism

Tudo pronto para começar Codificação run-length?

Crie sua conta no Exercism para aprender e dominar Crystal com 26 conceitos142 exercícios e mentoria humana de verdade, tudo de graça.