Défi
Énoncé
Le programme lit deux lignes : la première contient E (encodage) ou D (décodage), la seconde contient la chaîne à traiter. Pour E, il remplace chaque séquence de caractères identiques consécutifs par le caractère suivi du compteur (ex. aaa → a3). Les caractères isolés sont suivis de 1 (ex. b → b1). Pour D, il effectue l'opération inverse.
Contraintes
- La chaîne d'entrée pour
Econtient uniquement des lettres ASCII minuscules, longueur ≤ 1 000. - Pour
D, la chaîne encodée est garantie valide : alternance lettre/entier positif, longueur ≤ 4 000. - Les compteurs dans la sortie
Eet l'entréeDsont des entiers décimaux sans zéro initial. - Solution réalisable dans tout langage généraliste avec sa seule bibliothèque standard.
Exemple
Entrée :
E
aaabbbccddddde
Sortie :
a3b3c2d5e1
Entrée :
D
a3b3c2d5e1
Sortie :
aaabbbccddddde