Il y a un petit jeu d'échauffement d'improvisation où vous vous arrangez en cercle et envoyez des zips, zaps et zops autour en pointant une personne et en disant le mot suivant dans la séquence, puis ils font de même jusqu'à ce que vous soyez tous réchauffés ou peu importe.
Votre tâche consiste à créer un programme qui donne au mot suivant dans l'ordre donné un mot d'entrée. (Zip -> Zap -> Zop -> Zip) Comme il y a beaucoup de façons différentes de dire ces trois mots et flairs qui peuvent y être ajoutés, votre programme devrait imiter la duplication de casse et de lettre et porter des suffixes.
Pour élaborer, votre entrée sera un ou plusieurs Z
s, puis un ou plusieurs I
s, A
s ou O
s (tous la même lettre), puis un ou plusieurs P
s, (toutes les lettres jusqu'à ce point peuvent être en casse mixte) suivies de un suffixe arbitraire (qui peut être vide). Vous devez laisser les séries de Z
s et P
s, ainsi que le suffixe exactement tels qu'ils ont été reçus, puis changer le I
s en A
s, A
s en O
s ou O
s en I
s, en préservant la casse à chaque étape.
Exemples de cas de test
zip ==> zap
zAp ==> zOp
ZOP ==> ZIP
ZiiP ==> ZaaP
ZZaapp ==> ZZoopp
zzzzOoOPppP ==> zzzzIiIPppP
Zipperoni ==> Zapperoni
ZAPsky ==> ZOPsky
ZoPtOn ==> ZiPtOn
zipzip ==> zapzip
zapzopzip ==> zopzopzip
zoopzaap ==> ziipzaap
Règles et notes
- Vous pouvez utiliser n'importe quel encodage de caractères pratique pour l'entrée et la sortie, à condition qu'il prenne en charge toutes les lettres ASCII et qu'il ait été créé avant ce défi.
- Vous pouvez supposer que le mot d'entrée est une variante de Zip, Zap ou Zop. Toutes les autres entrées entraînent un comportement non défini.
- Les entrées valides correspondront parfaitement à l'expression régulière
Z+(I+|A+|O+)P+.*
(dans le cas mixte)
- Les entrées valides correspondront parfaitement à l'expression régulière
Bon golf!
z
et les premières p
. Le suffixe peut contenir n'importe quoi.