C'è un piccolo gioco di riscaldamento improvvisato in cui ti organizzi in un cerchio e mandi zip, zaps e zops in giro indicando una persona e dicendo la parola successiva nella sequenza, quindi fanno lo stesso fino a quando tutti ti riscaldano o qualunque cosa.
Il tuo compito è quello di creare un programma che dia la parola successiva in sequenza data una parola di input. (Zip -> Zap -> Zop -> Zip) Dato che ci sono molti modi diversi per dire queste tre parole e flairs che possono essere aggiunti a loro, il tuo programma dovrebbe imitare la duplicazione di maiuscole e lettere e portare suffissi.
Per elaborare, il tuo input sarà una o più Zs, quindi una o più Is, As o Os (tutta la stessa lettera), quindi una o più Ps (tutte le lettere fino a questo punto possono essere in maiuscolo) seguite da qualche suffisso arbitrario (che può essere vuoto). Dovresti lasciare le serie di Zs e Ps, così come il suffisso esattamente come ricevuto, ma poi cambiare la Is in As, As in Os, o in Os in Is, preservando il caso ad ogni passaggio.
Esempi di casi di 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
Regole e note
- È possibile utilizzare qualsiasi comoda codifica dei caratteri per input e output, a condizione che supporti tutte le lettere ASCII e che sia stata creata prima di questa sfida.
- Si può presumere che la parola di input sia una variante di Zip, Zap o Zop. Tutti gli altri input comportano un comportamento indefinito.
- Gli input validi corrisponderanno completamente al regex
Z+(I+|A+|O+)P+.*(in caso misto)
- Gli input validi corrisponderanno completamente al regex
Buon golf!
ze il primo p. Il suffisso può contenere qualsiasi cosa.