チャレンジ:
入力:
次の2つの入力を取ります
。-印刷可能なASCIIのみを含む文字列(スペース、タブ、または改行を除く)
-印刷可能なASCII文字
出力:
最初の行には、文字列入力が含まれます。i
このキャラクターが最初に出現するすべての-modulo-3は、南東方向に移動します。すべてのi
-modulo-3秒の出現は南方向に移動します。i
-modulo-3が3番目に出現するたびに、南西方向に移動します。文字が再び最初の開始位置に来るまで続けます(つまり、必要に応じて一方の側から他方の側に回り込むことを意味します)。次に、文字列入力の最後の行を再度印刷します。それを終わらせて。(すべてのテストケースはlength(input)
、後続の入力を含む行を含め、多くの行の後の最初の入力で終了することに注意してください。ただし、以下の最初のテストケースに見られるように、 9.)
これはかなり曖昧かもしれないので、ここに例を示します:
テストケース1:
文字列入力:"This_is_a_test"
文字入力:'s'
出力:
This_is_a_test
s s s
ss s
s s
sss
sss
s s
ss s
s s s
This_is_a_test
3つの色付きのパスを使用した同じテストケースを次に示しますs
。
ここで、最初's'
は南東方向の緑の道をたどります。2番目's'
は南の方向に黄色のパスに従います。3番目's'
は南西方向に水色の経路をたどります。(4番目がある場合's'
は、再び南東方向に進みます。これは、以下の他のテストケースのいくつかで確認できます。)
チャレンジルール:
- 入力には、印刷可能なASCIIのみが含まれます(スペース、タブ、改行を除く)
- I / O形式は柔軟です。改行で区切られた文字列、文字マトリックスなどを使用できます。呼び出し。
- 指定された文字が文字列に存在しない可能性があります。その場合、入力文字列を1回または2回
"test", 'a'
出力できます(つまり、次のいずれかを出力として使用できます:"test\ntest"
/"test"
)。 - 先行スペースは必須です。末尾のスペースはオプションです。1つまたは複数の先頭/末尾の改行が許可されます。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを持つ関数/メソッドを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、必要に応じて説明を追加してください。
テストケース/その他の例:
テストケース2:
文字列入力:"abcabcabcabcabc"
文字入力:'b'
出力:
abcabcabcabcabc
b b b b b
bbb bb
b b
bbb bb
b b b b b
b b b b
b b b b b
bb b bb
b b b
bb bbb
b b bbb
b b b b
b bb bb
b b bb b
abcabcabcabcabc
5つの色付きのパスを使用した同じテストケースを次に示しますa
。
テストケース3:
文字列入力:"only_two_paths?"
文字入力:'o'
出力:
only_two_paths?
o o
o o
o o
o o
o o
oo
o
oo
o o
o o
o o
o o
o o
o o
only_two_paths?
以下に、2つの色付きのパスを使用した同じテストケースを示しますo
。
テストケース4:
文字列入力:"lollollollollol"
文字入力:'l'
出力:
lollollollollol
lll ll ll
ll ll ll
l ll ll ll ll
lll l ll l ll
llllll ll ll
l l ll ll
ll lll ll
l l l lll ll l
ll l ll l l
l l l l llll l
ll lll lll
l l l ll
ll lll lllll
l l l ll l ll
lollollollollol
以下に、10個のパスを色付けした同じテストケースを示しますl
。
テストケース5:
文字列入力:"AbCdEeDcBaAbCdEeDcBa_CCCCC"
文字入力:'C'
出力:
AbCdEeDcBaAbCdEeDcBa_CCCCC
C C C C C
C C C C CCC
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C C C C C
C C C CC C C
C C CC C C
C C CC C C
C C CC C
CC CC C C
CC CC C C
C C CC C C
C C CC C C C
C C C C C C
C C CC C C C
C C C C C C C
C C C C C C C
C C C C C CC
C C C C C C
C C C C CCC
C C C CCCC
C C C C
C C CCCCC
AbCdEeDcBaAbCdEeDcBa_CCCCC
以下は、7つの色付きのパスを使用した同じテストケースC
です。
テストケース6:
文字列入力:"XyX"
文字入力:'X'
出力:
XyX
XX
X
XyX
以下に、2つの色付きのパスを使用した同じテストケースを示しますX
。
テストケース7:
文字列入力:"aaaa"
文字入力:'a'
出力:
aaaa
aa
aaa
aaa
aaaa
4つの色付きのパスを使用した同じテストケースを次に示しますa
。
length(input)
すべてが再び一致するということだけですが、最初のテストケースが証明すると、より早くなる可能性があります。しかし、3の倍数については確かに正しいようです(100%確かではありませんが)。