Hay un pequeño juego de calentamiento de improvisación en el que se organizan en un círculo y envían cremalleras, zap y zops alrededor señalando a una persona y diciendo la siguiente palabra en la secuencia, luego hacen lo mismo hasta que todos se calientan o lo que sea.
Su tarea es crear un programa que dé la siguiente palabra en secuencia dada una palabra de entrada. (Zip -> Zap -> Zop -> Zip) Dado que hay muchas formas diferentes de decir estas tres palabras y palabras que se pueden agregar a ellas, su programa debe imitar la duplicación de mayúsculas y minúsculas y llevar sufijos.
Para elaborar, su entrada será una o más Z
s, luego una o más I
s, A
s o O
s (todas la misma letra), luego una o más P
s, (todas las letras hasta este punto pueden estar en mayúsculas y minúsculas) seguido de algún sufijo arbitrario (que puede estar vacío). Debe dejar las ejecuciones de Z
sy P
s, así como el sufijo exactamente como se recibió, pero luego cambie I
s a A
s, A
s a O
s o O
s a I
s, conservando mayúsculas y minúsculas en cada paso.
Ejemplos de casos de prueba
zip ==> zap
zAp ==> zOp
ZOP ==> ZIP
ZiiP ==> ZaaP
ZZaapp ==> ZZoopp
zzzzOoOPppP ==> zzzzIiIPppP
Zipperoni ==> Zapperoni
ZAPsky ==> ZOPsky
ZoPtOn ==> ZiPtOn
zipzip ==> zapzip
zapzopzip ==> zopzopzip
zoopzaap ==> ziipzaap
Reglas y notas
- Puede usar cualquier codificación de caracteres conveniente para entrada y salida, siempre que admita todas las letras ASCII y que se haya creado antes de este desafío.
- Puede suponer que la palabra de entrada es una variante de Zip, Zap o Zop. Todas las demás entradas dan como resultado un comportamiento indefinido.
- Las entradas válidas coincidirán por completo con la expresión regular
Z+(I+|A+|O+)P+.*
(en mayúsculas y minúsculas)
- Las entradas válidas coincidirán por completo con la expresión regular
¡Feliz golf!
z
y las primeras p
. El sufijo puede contener cualquier cosa.