Es gibt die klassische Lauflängencodierung und -decodierung.
input output
a3b2c5 aaabbccccc
Und das ist ziemlich einfach und schon mal gemacht.
Die Herausforderung besteht darin, auch ein nicht standardmäßiges Verhalten zu berücksichtigen, wenn mehrere Zeichen vor der Lauflänge stehen (eine einzelne Ziffer von 0 bis 9). Auf jedes Zeichen vor der Lauflängenziffer (die letzte Ziffer vor einer Nichtziffer oder dem Ende der Zeichenfolge) wird dieser Wert einzeln angewendet und der Reihe nach ausgedruckt.
Einige Testeingaben und -ausgaben, einschließlich einiger Randfälle:
input output
ab3c5 aaabbbccccc
a0b3 bbb
13b1 111b
a13b1 aaa111b
a123b1 aaa111222b
aa2a1b1 aaaaab
- Einer Zeichenfolge (
[a-zA-Z0-9]+) muss die Lauflänge length ([0-9]) folgen. - Es müssen nur gültige Eingaben berücksichtigt werden (
([a-zA-Z0-9]+[0-9])*)- ja, leere Zeichenfolge ist gültige Eingabe.
- Die Eingabe erfolgt über die Standardeingabe, die Ausgabe über die Standardausgabe
Dies ist Code Golf, die Anzahl der Bytes bestimmt den Gewinner.