これに触発されました。
大文字と小文字のアルファベット文字のみで構成される入力として文字列が与えられた場合、それをwicka-wubします。
文字列をウィッカウブする方法は?
使用されるテキスト例は「DJMcMayhem」です。
各大文字の前で文字列を分割すると、が得られ["D", "J", "Mc", "Mayhem"]ます。
次に、リストの2つの半分をサブリストとして扱います。これは私たちに与え[["D", "J"],["Mc", "Mayhem"]]ます。リストの長さが奇数(つまり3)の場合、最初のサブリストには中央の部分文字列(つまり[[a,b], [c]])が含まれます。
wickaとwubのリストを作成します。wickas の数は、入力リストの最初の部分(つまり["D", "J"] -> ["wicka", "wicka"])wubsの長さと同じでなければなりません。また、の数は、入力リストの2番目の部分の長さと同じでなければなりません。私たちの場合、これはを与え["wicka", "wicka", "wub", "wub"]ます。
ここで、入力リストのサブリストを単一の文字列に結合し、フラット化します。
現在とが["DJ", "McMayhem"]あり["wicka", "wicka", "wub", "wub"]ます。
参加wicka/ wubでリスト-秒:wicka-wicka-wub-wub。先頭に-。入力に複数の大文字がある場合は、もう1つを追加します-。
今、とが ["DJ", "McMayhem"]あり"-wicka-wicka-wub-wub-"ます。
追加wicka-wub取得するには、入力リストの最初の項目の末尾に文字列を["DJ-wicka-wicka-wub-wub-","McMayhem"]。
最後に、文字列の2番目の部分の文字を、元の入力文字列の0インデックス値で繰り返します。私たちの例では、それは最初のものMが2回繰り返され、次にc3回、そして次のM4回繰り返されることを意味します。リストに参加すると、2番目の部分(文字を繰り返し入力した部分)が最初の部分("DJ-wicka-wicka-wub-wub-")に追加されます。
入力の最終結果:
"DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm"
総プロセス:
["D", "J", "Mc", "Mayhem"] =>
[["D", "J"], ["Mc", "Mayhem"]] =>
["DJ", "McMayhem"] and ["wicka", "wicka", "wub", "wub"] =>
["DJ", "McMayhem"] and "-wicka-wicka-wub-wub-" =>
["DJ-wicka-wicka-wub-wub-", "McMayhem"] =>
"DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm"
あなたのタスク
あなたの仕事は、大文字と小文字のアルファベット文字のみで構成される文字列が与えられた場合、その文字列の吹き替えバージョンを出力することです。
いくつかのルール
- 入力は、すべて小文字、すべて大文字、またはそれぞれ任意の数で構成できますが、他の文字は使用できません。
- 入力が完全に小文字で構成されている場合、正しい出力は最終段階(0から始まる位置に従って文字が繰り返される文字列)になります。ない
wickaか、wubその場合は、そのます。 - 標準的なルールが適用され、完全なプログラムまたは機能はあなた次第です。
- これはコードゴルフなので、最短のコードが優先されます。
GoodLuck-wicka-wicka-wub-GGGGGGGGooooooooollllllllllfffffffffffeeeeeeeeeeerrrrrrrrrrrrrssssssssssssss
テストケース
input => output
DJMcMayhem => DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm
PPCG => PP-wicka-wicka-wub-wub-CCGGG
foobarbaz => fooooobbbbaaaaarrrrrrbbbbbbbaaaaaaaazzzzzzzzz
FooBarBaz => FooBar-wicka-wicka-wub-BBBBBBaaaaaaazzzzzzzz
HelloWorld => Hello-wicka-wub-WWWWWoooooorrrrrrrllllllllddddddddd
Test => Test-wicka
UPPER => UPP-wicka-wicka-wicka-wub-wub-EEERRRR
fooBarBaz => fooBar-wicka-wicka-wub-BBBBBBaaaaaaazzzzzzzz
5大文字のテストを追加できますか?
foobarbaz単に戻る必要がありfoobarbazますか?後編はありますか?