Compressão de strings pela regra de grupos consecutivos
Rust
Hard
strings
Tarefa «Compressão de strings pela regra de grupos consecutivos»
Dada uma string composta por letras minúsculas do alfabeto latino. É necessário implementar um algoritmo de compressão de string: se na string houver um grupo de caracteres iguais com comprimento maior que 1, esse grupo é substituído pelo caractere e pelo número de repetições (o número é escrito sem zeros à esquerda). Se o grupo consistir em um único caractere, ele permanece inalterado. Exiba a string comprimida resultante. O comprimento da string original não excede 10^5.
Formato de Entrada
Na entrada, é fornecida uma única string S, composta por letras minúsculas do alfabeto latino (a-z). O comprimento da string é de 1 a 10^5.
Formato de Saída
Exiba uma única string — a versão comprimida da string original.
Exemplos
Exemplo 1
ENTRADA
abc
SAÍDA
abc
Exemplo 2
ENTRADA
aabbaa
SAÍDA
a2b2a2
Exemplo 3
ENTRADA
97 98 99 97 98 99
SAÍDA
97 98 92 97 98 92
main.rs