Aller au contenu principal
U/USELESS·PROGRAMMING

Run-length (python)

Encoder RLE une chaîne minuscule.

Énoncé

Appliquez un run-length encoding sur la chaîne minuscule suivante : chaque run de k caractères c devient la concaténation décimale de k suivie de c (ex. aaab3a1b).

gexsrixlebtzfwkoidvksjvljmsflnhamssevgvr

Entrée : cette ligne.

Sortie : une ligne, l’encodage.

Contraintes réelles

  • Entrée : une seule ligne sur stdin (format indiqué ci-dessus), sans espaces superflus en fin de ligne.
  • Sortie : une seule ligne sur stdout, exactement la valeur demandée (pas de texte d’explication).
  • python : bibliothèque standard uniquement ; pas d’accès réseau ni de fichiers autres que stdin/stdout.
  • Complexité : respecter la borne indiquée dans l’énoncé (souvent O(n) ou O(n²) pour n ≤ 16).

Parcours pédagogique

  • Piste : Compression naïve (serie-q-rle) — étape 1 sur cette famille.
  • Objectif : Run-length encoding sur lettres minuscules.
  • Indice global : numéro de défi 3500 / 10000 (famille 25/25, variante 140 / 400).

Indices

  • Parsez stdin en types exacts (entier 64 bits signé si nécessaire).
  • Testez sur papier avec les petites valeurs du gabarit.
  • Vérifiez les cas limites mentionnés.

Solution possible

  1. Parcours linéaire : compter les répétitions consécutives.

Pseudo-code (python)

# lire la ligne stdin → variables
# appliquer l’algorithme décrit
# print(resultat)  # une ligne

Résultat de référence (tests automatisés)

La CI exécute la même logique que ce dépôt sur votre variante : la sortie attendue est exactement :

1g1e1x1s1r1i1x1l1e1b1t1z1f1w1k1o1i1d1v1k1s1j1v1l1j1m1s1f1l1n1h1a1m2s1e1v1g1v1r

Référence (tests automatisés) : 1g1e1x1s1r1i1x1l1e1b1t1z1f1w1k1o1i1d1v1k1s1j1v1l1j1m1s1f1l1n1h1a1m2s1e1v1g1v1r

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).

Run-length (python) — Useless Programming