Die Aufgabe
Eine Zeichenfolge S
wird mit dem folgenden Prozess erstellt:
- Beginnen Sie damit
S
, die leere Zeichenfolge zu sein. - Fügen Sie an
S
einer beliebigen Stelle eine Zeichenfolge des Formulars einds
, wobeid
es sich um eine Ziffer ungleich Null unds
eine Zeichenfolge ausd
ASCII-Kleinbuchstaben handelt. Wir sagen,ds
ist ein Bestandteil vonS
. - Fahren Sie mit Schritt 2 fort oder halten Sie an.
Ihre Aufgabe ist es, eine solche Zeichenfolge als Eingabe zu verwenden und ihre Bestandteile, die zu einer einzelnen Zeichenfolge verkettet sind, in der Reihenfolge des Auftretens ihrer führenden Ziffern auszugeben. Die Ausgabe muss eine einzelne Zeichenfolge sein, und zwischen den Bestandteilen dürfen keine Trennzeichen (einschließlich Zeilenumbrüchen) stehen. Sie können wählen, ob die Eingabe- und Ausgabezeichenfolgen Anführungszeichen enthalten. Beachten Sie, dass die Ein- und Ausgabe niemals leer sein wird.
Beispiel
Lassen Sie uns einen String mit dem obigen Prozess konstruieren. Die Struktur der Bestandteile wird im Endergebnis hervorgehoben.
S = "" // Insert "3abc"
S = "3abc" // Insert "2gh" after 'a'
S = "3a2ghbc" // Insert "1x" before '3'
S = "1x3a2ghbc" // Insert "3tty" after '3'
S = "1x33ttya2ghbc" // Final result
└┘│└┴┴┘│└┴┘││
└────┴───┴┘
Die Ausgabe wird durch Verketten der Bestandteile in der Reihenfolge ihrer Ziffern erhalten. In diesem Fall ist die korrekte Ausgabe
"1x3abc3tty2gh"
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben. Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig.
Testfälle
1k -> 1k
4asdf -> 4asdf
111xyz -> 1z1y1x
8whatever3yes -> 8whatever3yes
8what3yesever -> 8whatever3yes
1x33ttya2ghbc -> 1x3abc3tty2gh
63252supernestedstrings2ok -> 6trings3eds2st5perne2su2ok
9long3yes4lo2ngwords11here -> 9longrdsre3yes4lowo2ng1e1h
9abc8de7fg6hi5jk4lm3o2pq1rstuvwxyzabcdefghijklmnopqrst -> 9abcopqrst8deijklmn7fgdefgh6hizabc5jkwxy4lmuv3ost2pq1r
if z in k:m+=N(z)+1
.N=int
tatsächlich 2 Bytes gespart. Das Umbenennenint
ist erst nach 4 Anwendungen von Vorteil.Java 8, 152 Bytes
Erläuterung:
Probieren Sie es hier aus.
quelle
Python 2 ,
151147135 BytesProbieren Sie es online!
Erläuterung:
Der Code enthält zwei Listen der Konstituentengruppen
d and D
.Jedes Zeichen der Zeichenfolge wird dann gescannt:
d
Wenn eine Gruppe dieselbe Länge wie ihre Ziffer hat, wird die Gruppe von entfernt
d
.Am Ende wird das
D
verkettet, da sich die GruppenD
in der ursprünglichen Reihenfolge befinden.Beispiel:
quelle