Dies ist inspiriert von Monday Mini-Golf # 6: Meeesesessess upp teeexexextext
Hintergrund
ETH-Produktionen haben Schwierigkeiten, Text auf seiner gewohnten Webseite einzugeben . Wann immer er Ziffern oder Buchstaben verwendet, wird der Text meeesessessesseesseessedess up. Ihre Aufgabe ist es, ihm beim Tippen zu helfen, damit das normale Verhalten erreicht wird.
Die Transformation
Die Transformation wirkt sich auf Läufe von alphanumerischen ( [0-9A-Za-z]
) Zeichen aus, die durch nicht- alphanumerische Zeichen begrenzt sind. Im folgenden Beispiel wird die erste Zeile in die zweite Zeile umgewandelt (die anderen Zeilen zeigen die Aufteilung der Umwandlung).
An12num:
Annn1n12n12nn12nn12nun12nun12numn12num
A
nn
n1
n12
n12nn12n
n12nun12nu
n12numn12num
Insbesondere wird jedes alphanumerische Zeichen nach dem ersten in einem Lauf bis auf das erste Zeichen in den gesamten Lauf umgewandelt . Wenn das Zeichen ein Buchstabe ist (im Gegensatz zu einer Ziffer), wird das Zeichen außerdem in den doppelten Durchlauf umgewandelt.
Glücklicherweise löscht die Rücktaste das letzte Zeichen und setzt auch den Beginn des Laufs zurück.
Aufgabe
Diesmal besteht Ihre Aufgabe nicht darin, die Transformation durchzuführen. Stattdessen müssen Sie bei einer gegebenen Eingabezeichenfolge einen codierten Text zurückgeben, der bei der Transformation zur Eingabe führt. Die Ausgabe muss so kurz wie möglich sein, wobei \<char>
sie als einzelnes Zeichen gezählt wird.
Der Text ist wie folgt kodiert:
\ -> \\
backspace character -> \b
linefeed -> \n
Sie können ein Programm oder eine Funktion schreiben, indem Sie eine Eingabe über STDIN (oder die nächstgelegene Alternative), ein Befehlszeilenargument oder ein Funktionsargument vornehmen und das Ergebnis über STDOUT (oder die nächstgelegene Alternative), einen Funktionsrückgabewert oder einen Funktionsparameter (out) ausgeben.
Testfälle
Jeder Testfall besteht aus zwei Zeilen, von denen die erste die Eingabe und die zweite die Ausgabe ist.
Heeeeeelp me. It shouldn't be messed up.
Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b.
alert("Hello, world!");
al\ber\bt("He\bll\bo, wo\brl\bd!");
1223234234523456
123456
1
jedes Mal) in die Läufe ein.