PythonColeçõesdesafio

Compressor RLE

Run-Length Encoding (RLE) é usado em formatos de imagem como BMP e TIFF, além de fax, para compactar áreas de cor sólida ou texto com caracteres repetidos. Em vez de guardar cada repetição individual, você armazena uma contagem seguida do caractere, reduzindo o tamanho. Dominar RLE ensina como explorar redundância em dados reais, base para compressores mais avançados como ZIP.

O PROBLEMA

Implemente Run-Length Encoding (comprimir e descomprimir).

EXEMPLO

comprimir("aaabbbcc") → "3a3b2c"

SOBRE O CONCEITO

O algoritmo percorre a string caractere por caractere, comparando com o anterior. Usa um contador e, quando encontra um caractere diferente ou chega ao fim, anexa a contagem (convertida com str()) e o caractere. O erro comum de não tratar o último grupo acontece porque ao sair do for a última sequência ainda não foi gravada. É preciso, após o laço, adicionar o grupo final. Por exemplo, para a string 'aaabbbcc', sem essa etapa o resultado seria '3a3b', faltando '2c'. Use if para verificar se o caractere muda ou se é o último índice (i == len(texto)-1).

RESOLUÇÃO

Mais exercícios de Coleções

PYCO20I · IntermediárioCache com dicionárioPYCO24A · AvançadoHistograma de textoPYCO15I · IntermediárioTuplas como chavesPYCO16I · IntermediárioSet de emails únicos
Ver todos os exercícios de Python