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 Z
s, kemudian satu atau lebih I
s, A
s, atau O
s (semua huruf yang sama), lalu satu atau lebih P
s, (semua huruf hingga titik ini mungkin dalam kasus campuran) diikuti oleh beberapa akhiran yang berubah-ubah (yang mungkin kosong). Anda harus membiarkan run Z
s dan P
s, serta sufiks persis seperti yang diterima, tetapi kemudian mengubah I
s ke A
s, A
s ke O
s, atau O
s ke I
s, 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!
z
yang pertama dan yang pertama p
. Akhiran bisa berisi apa saja.