Herausforderung:
Wenn eine Zeichenfolge nur Groß- und / oder Kleinbuchstaben enthält (je nachdem, was Sie bevorzugen), platzieren Sie sie tapehorizontal, um sie zu reparieren. Dazu prüfen wir den Unterschied zweier benachbarter Buchstaben im Alphabet (ignorieren den Umbruch und gehen nur vorwärts) und füllen den Raum mit so viel TAPE/ tapewie wir benötigen.
Beispiel:
Eingabe: abcmnnnopstzra
Ausgabe:abcTAPETAPETmnnnopTAstTAPETzra
Warum?
- Zwischen
cundmsollte seindefghijkl(Länge 9), also füllen wir dies mitTAPETAPET; - Zwischen
pundssollte seinqr(Länge 2), also füllen wir dies mitTA; - Zwischen
tundzsollte seinuvwxy(Länge 5), also füllen wir dies mitTAPET.
Herausforderungsregeln:
- Der Unterschied gilt nur vorwärts, also kein Band dazwischen
zra. - Es ist möglich, mehrere gleiche benachbarte Buchstaben wie zu haben
nnn. - Sie dürfen die Eingabe in einem angemessenen Format vornehmen. Kann ein einzelner String, ein String-Array / eine Liste, ein Zeichen-Array / eine Liste usw. sein. Die Ausgabe hat die gleiche Flexibilität.
- Sie dürfen Klein- und / oder Großbuchstaben nach Belieben verwenden. Dies gilt sowohl für die Eingabe als auch für die Ausgabe und
TAPE. - Möglicherweise ist keine
TAPEEingabe erforderlich. In diesem Fall bleibt die Eingabe unverändert.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link zu einem Test für Ihren Code hinzu.
- Fügen Sie ggf. auch eine Erklärung hinzu.
Testfälle:
Input: "abcmnnnopstzra"
Output: "abcTAPETAPETmnnnopTAstTAPETzra"
Input: "aza"
Output: "aTAPETAPETAPETAPETAPETAPEza"
Input: "ghijk"
Output: "ghijk"
Input: "aabbddeeffiiacek"
Output: "aabbTddeeffTAiiaTcTeTAPETk"
Input: "zyxxccba"
Output: "zyxxccba"
Input: "abccxxyz"
Output: "abccTAPETAPETAPETAPETAPExxyz"
Input: "abtapegh"
Output: "abTAPETAPETAPETAPETtaTAPETAPETAPETApeTgh"
Input: "tape"
Output: "taTAPETAPETAPETApe"
ab[TAPETAPETAPETAPET]TA[TAPETAPETAPETA]PE[T]gh(; fügte das hinzu [], um es lesbarer zu machen).
