Herausforderung:
Wenn eine Zeichenfolge nur Groß- und / oder Kleinbuchstaben enthält (je nachdem, was Sie bevorzugen), platzieren Sie sie tape
horizontal, 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
/ tape
wie wir benötigen.
Beispiel:
Eingabe: abcmnnnopstzra
Ausgabe:abcTAPETAPETmnnnopTAstTAPETzra
Warum?
- Zwischen
c
undm
sollte seindefghijkl
(Länge 9), also füllen wir dies mitTAPETAPET
; - Zwischen
p
unds
sollte seinqr
(Länge 2), also füllen wir dies mitTA
; - Zwischen
t
undz
sollte 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
TAPE
Eingabe 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).