チャレンジ
文字列の最後の文字を除く各文字について、次の手順を実行します。
現在の文字を出力します。
続いて、次のリストから1〜5のランダムな回数をランダムに出力します(両端を含む)。
- 現在のキャラクター
- 文字列の次の文字
- 現在いるキャラクターのスイッチケースバージョン
- 文字列の次の文字のスイッチケースバージョン。
テストケース
String
-> SSSTSStrTrIiinIIngn
, . , . , . Hello world!
-> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D
Programming Puzzles and Code Golf
-> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS a aANnNddD C COCoooOOdeDe E GGGoOllFFf
ノート
- 文字がアルファベットの一部である場合(AZおよびaz)にのみ、スイッチケースバージョンの文字を適用する必要があります。
- ランダム関数は均一である必要はありませんが、指定されたリスト内の要素を返す可能性が依然として必要です。
- 任意の標準I / O形式を使用できます。
- 入力の長さが2以上であると仮定することができます。
- 入力はASCII文字のみで構成されていると想定できます。
- タイトルはテストケースではありません(有効なテストケースである場合は意図的ではありません)。
- Switchcaseは、文字が大文字の場合は小文字に変換し、小文字の場合は大文字に変換することを意味します。
String
プロデュースするかをSSSTSStrTrIiinIIngn
[S]SSTSS [t]rT, [r]I, [i]inII, [n]gn
が、ブロック間の文字は最初の弾丸ポイント(「現在の文字を出力する」)であり、他の文字は1〜5回ランダムに4つの選択肢の1つですキャラクター。しかし、私は同意する、いくつかのより明示的な説明が適切であろう。テストケースとは別に、ランダムな選択を1〜5回選択する必要があることは特に明確ではありませんでした。ランダムな選択を1〜5回繰り返す代わりに(現在のGaiaの回答では)。