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 Zs, luego una o más Is, As o Os (todas la misma letra), luego una o más Ps, (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 Zsy Ps, así como el sufijo exactamente como se recibió, pero luego cambie Is a As, As a Os o Os a Is, 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!
zy las primeras p. El sufijo puede contener cualquier cosa.