Es gibt ein kleines Improvisations-Aufwärmspiel, in dem Sie sich in einem Kreis anordnen und Reißverschlüsse, Zaps und Zops versenden, indem Sie auf eine Person zeigen und das nächste Wort in der Sequenz sagen wie auch immer.
Ihre Aufgabe ist es, ein Programm zu erstellen, das bei einem eingegebenen Wort das nächste Wort der Reihe nach ausgibt. (Zip -> Zap -> Zop -> Zip) Da es viele verschiedene Möglichkeiten gibt, diese drei Wörter und Flairs auszudrücken, die hinzugefügt werden können, sollte Ihr Programm die Vervielfältigung von Groß- und Kleinschreibung imitieren und Suffixe tragen.
Um dies zu erläutern, geben Sie ein oder mehrere Zs, dann ein oder mehrere Is, As oder Os (alle gleichen Buchstaben), dann ein oder mehrere Ps (alle Buchstaben bis zu diesem Punkt können in gemischter Schreibweise geschrieben sein) ein, gefolgt von ein beliebiges Suffix (das leer sein kann). Sie sollten die Läufe von Zs und Ps sowie das Suffix genau so belassen, wie sie erhalten wurden, aber dann das Is in As, As in Os oder Os in Is ändern , um die Groß- und Kleinschreibung bei jedem Schritt beizubehalten.
Beispiel Testfälle
zip ==> zap
zAp ==> zOp
ZOP ==> ZIP
ZiiP ==> ZaaP
ZZaapp ==> ZZoopp
zzzzOoOPppP ==> zzzzIiIPppP
Zipperoni ==> Zapperoni
ZAPsky ==> ZOPsky
ZoPtOn ==> ZiPtOn
zipzip ==> zapzip
zapzopzip ==> zopzopzip
zoopzaap ==> ziipzaap
Regeln und Hinweise
- Sie können für die Eingabe und Ausgabe eine beliebige bequeme Zeichenkodierung verwenden, sofern diese alle ASCII-Buchstaben unterstützt und vor dieser Herausforderung erstellt wurde.
- Sie können annehmen, dass das Eingabewort eine Variante von Zip, Zap oder Zop ist. Alle anderen Eingaben führen zu undefiniertem Verhalten.
- Gültige Eingaben stimmen mit dem regulären Ausdruck überein
Z+(I+|A+|O+)P+.*(in gemischten Fällen)
- Gültige Eingaben stimmen mit dem regulären Ausdruck überein
Viel Spaß beim Golfen!
zund dem ersten p. Das Suffix kann alles enthalten.