少し即興のウォームアップゲームがあります。サークルに自分自身を配置し、ジップ、ザップ、およびゾップを人に向けて順番に次の単語を言うことで送信します。なんでも。
あなたの仕事は、入力単語を与えられた順番で次の単語を与えるプログラムを作成することです。(Zip-> Zap-> Zop-> Zip)これらの3つの単語とフレアを追加するさまざまな言い方があるため、プログラムは大文字と小文字の重複を模倣し、接尾辞を付ける必要があります。
詳しく説明すると、入力は1つ以上Z
のs、1つ以上I
のs、A
s、またはO
s(すべて同じ文字)、1つ以上P
のs(この時点までのすべての文字が大文字と小文字が混在する場合があります)に続きます任意のサフィックス(空の場合もあります)。Z
sとP
sの実行、および受け取ったサフィックスはそのままにしておく必要がありますが、I
sをA
sに、A
sをO
sに、またはO
sをI
sに変更して、各ステップで大文字と小文字を保持します。
テストケースの例
zip ==> zap
zAp ==> zOp
ZOP ==> ZIP
ZiiP ==> ZaaP
ZZaapp ==> ZZoopp
zzzzOoOPppP ==> zzzzIiIPppP
Zipperoni ==> Zapperoni
ZAPsky ==> ZOPsky
ZoPtOn ==> ZiPtOn
zipzip ==> zapzip
zapzopzip ==> zopzopzip
zoopzaap ==> ziipzaap
ルールと注意事項
- すべてのASCII文字をサポートし、このチャレンジの前に作成されたものであれば、入出力に便利な文字エンコードを使用できます。
- 入力ワードは、Zip、Zap、またはZopのバリアントであると想定できます。他のすべての入力は、未定義の動作になります。
- 有効な入力は正規表現に完全に一致します
Z+(I+|A+|O+)P+.*
(大文字と小文字が混在する場合)
- 有効な入力は正規表現に完全に一致します
ハッピーゴルフ!
z
の母音と最初の母音の間の母音にのみ適用されp
ます。接尾辞には何でも含めることができます。