Ada sedikit permainan pemanasan improvisasi di mana Anda mengatur diri Anda dalam lingkaran dan mengirim ritsleting, zaps, dan zops dengan menunjuk ke seseorang dan mengucapkan kata berikutnya dalam urutan, kemudian mereka melakukan hal yang sama sampai Anda semua melakukan pemanasan atau terserah.
Tugas Anda adalah membuat program yang memberikan kata berikutnya dalam urutan yang diberikan kata input. (Zip -> Zap -> Zop -> Zip) Karena ada banyak cara berbeda untuk mengatakan tiga kata dan kata-kata yang dapat ditambahkan ini, program Anda harus meniru duplikasi huruf dan huruf serta membawa sufiks.
Untuk menguraikan, input Anda akan menjadi satu atau lebih Zs, kemudian satu atau lebih Is, As, atau Os (semua huruf yang sama), lalu satu atau lebih Ps, (semua huruf hingga titik ini mungkin dalam kasus campuran) diikuti oleh beberapa akhiran yang berubah-ubah (yang mungkin kosong). Anda harus membiarkan run Zs dan Ps, serta sufiks persis seperti yang diterima, tetapi kemudian mengubah Is ke As, As ke Os, atau Os ke Is, menjaga case pada setiap langkah.
Contoh Kasus Uji
zip ==> zap
zAp ==> zOp
ZOP ==> ZIP
ZiiP ==> ZaaP
ZZaapp ==> ZZoopp
zzzzOoOPppP ==> zzzzIiIPppP
Zipperoni ==> Zapperoni
ZAPsky ==> ZOPsky
ZoPtOn ==> ZiPtOn
zipzip ==> zapzip
zapzopzip ==> zopzopzip
zoopzaap ==> ziipzaap
Aturan dan Catatan
- Anda dapat menggunakan pengkodean karakter yang mudah untuk input dan output, asalkan mendukung semua huruf ASCII dan dibuat sebelum tantangan ini.
- Anda dapat menganggap kata input adalah beberapa varian Zip, Zap, atau Zop. Semua input lainnya menghasilkan perilaku yang tidak terdefinisi.
- Input yang valid akan sepenuhnya cocok dengan regex
Z+(I+|A+|O+)P+.*(dalam kasus campuran)
- Input yang valid akan sepenuhnya cocok dengan regex
Selamat Golf!
zyang pertama dan yang pertama p. Akhiran bisa berisi apa saja.