Compression de chaîne selon la règle des groupes consécutifs

Rust Hard strings

Tâche «Compression de chaîne selon la règle des groupes consécutifs»

Étant donné une chaîne composée de lettres latines minuscules. Il est nécessaire d'implémenter un algorithme de compression de chaîne : si un groupe de caractères identiques d'une longueur supérieure à 1 apparaît dans la chaîne, ce groupe est remplacé par le caractère et le nombre de répétitions (le nombre est écrit sans zéros non significatifs). Si le groupe est composé d'un seul caractère, il reste inchangé. Affichez la chaîne compressée obtenue. La longueur de la chaîne d'origine ne dépasse pas 10^5.

Format d\ entrée

En entrée, une seule chaîne S est fournie, composée de lettres latines minuscules (a-z). La longueur de la chaîne est comprise entre 1 et 10^5.

Format de sortie

Affichez une seule chaîne — la version compressée de la chaîne d'origine.

Exemples

Exemple 1

ENTRÉE
abc
SORTIE
abc

Exemple 2

ENTRÉE
aabbaa
SORTIE
a2b2a2

Exemple 3

ENTRÉE
97 98 99 97 98 99
SORTIE
97 98 92 97 98 92
main.rs