ゴール
これは簡単な挑戦です。あなたの目標は、各文字を同じケースの次の文字と交換し、文字以外の文字を変更せずに文字列を解読することです。
ステップごとの説明
最初の文字は
E
です。大文字の次の文字を探します:aC
です。これらの文字を交換すると、につながりCdoE!
ます。次の文字に進み
d
ます。これはです。次の文字を小文字で探します:それはo
です。これらの文字を交換すると、につながりCodE!
ます。次のキャラクターに進みます。これは
d
ここで移動したものです。既に処理されているため、無視します。次のキャラクターに進みます。これは、
E
ステップ1でここに移動したものです。既に処理されているため、無視します。次の文字に進み
!
ます。これはです。手紙ではないので無視します。
ルール
入力文字列は、32〜126の範囲の印刷可能なASCII文字のみで構成されていると想定できます。
完全なプログラムまたは関数を作成して、結果を出力または返すことができます。
入力文字列に奇数個の文字が含まれている場合、最後の残りの文字を別の文字と交換することはできません。文字列に含まれる文字数が偶数で、大文字と小文字が奇数である場合、同じロジックが適用されます。
これはコードゴルフなので、バイト単位の最短回答が勝ちです。標準的な抜け穴は禁止されています。
テストケース
Input : lLEhW OroLd!
Output: hELlO WorLd!
Input : rpGOZmaimgn uplRzse naC DEoO LdGf
Output: prOGRamming puzZles anD COdE GoLf
Input : eIt uqHKC RBWOO xNf ujPMO SzRE HTL EOvd yAg
Output: tHe quICK BROWN fOx juMPS OvER THE LAzy dOg
Input : NraWgCi: Nsas-eNEiTIsev rNsiTG!!
Output: WarNiNg: Case-sENsITive sTriNG!!
それほどランダムではないテストケース:
Input : (^_^)
Output: (^_^)
Input : AWCTY HUOS RETP
Output: WATCH YOUR STEP
Input : hwn oeesd acsp nawyya
Output: who needs caps anyway
Input : SpMycaeIesKyBorekn
Output: MySpaceKeyIsBroken
Input : D's mroyr, Ivam. I'e faardi I act'n od htta.
Output: I'm sorry, Dave. I'm afraid I can't do that.