チャレンジ
文字列s
と整数n
をパラメーターとして受け取るプログラムまたは関数を作成します。次のように変換すると、プログラムは文字列を出力(または返す)します。
左上から始めて右下に移動し、s
高さの波として書き込みn
ます。次に、上から下へ、各行を文字列として(スペースなしで)結合します。
例
文字列「WATERMELON」と高さ3を指定します。
波は次のようになります。
W R O
A E M L N
T E
次に、行を上から下に結合します。
WRO
AEMLN
TE
したがって、プログラムは文字列「WROAEMLNTE」を返す必要があります
同様に、高さ4の「WATERMELON」は次の波を生成するはずです。
W E
A M L
T R O
E N
その後、プログラムは文字列「WEAMLTROEN」を返す必要があります
ルール
入力
入力は、合理的な形式で取得できます。文字列は、どのような場合でも好きなものにすることができます。あなたはそれを仮定するかもしれません0 < n <= s.length
出力
出力は、変換された文字列(STDOUTに返されるか出力されるか)と、後続の改行のみで構成される必要があります。
得点
これはcode-golfなので、バイト単位の最短回答が勝ちです!標準の抜け穴は許可されていません。
テストケース
Input Output
programmingpuzzles, 5 -> piermnlsomgzgapzru
codegolf, 3 -> cgoeofdl
elephant, 4 -> enlatehp
1234567, 3 -> 1524637
qwertyuiop, 1 -> qwertyuiop
n > 0
が、n=1
有効なケースです。ここで質問を更新します。
n
1以上と仮定できますか?テストケースを明確にし、追加しない場合