Meydan okuma
Bir dizgede s
ve tamsayıda n
parametre olarak alan bir program veya işlev yazın . Programınız, aşağıdaki gibi dönüştürüldüğünde dizeyi yazdırmalı (veya döndürmelidir):
Sol üstten başlayıp aşağı ve sağa hareket ederek, s
bir yükseklik dalgası olarak yazın n
. Ardından, yukarıdan aşağıya doğru, her satırı bir dize olarak (boşluksuz) birleştirin.
Örnek
"WATERMELON" dizgisine ve 3 yüksekliğe göre:
Dalga şöyle görünmeli:
W R O
A E M L N
T E
Ardından, yukarıdan aşağıya doğru satırları birleştirin:
WRO
AEMLN
TE
Bu nedenle, programınız "WROAEMLNTE" dizesini döndürmelidir.
Aynı şekilde, yüksekliği 4 olan "WATERMELON" şu dalgayı üretmelidir:
W E
A M L
T R O
E N
Programınız daha sonra "WEAMLTROEN" dizesini döndürmelidir.
kurallar
Giriş
Giriş, herhangi bir makul formatta alınabilir. Dize istediğiniz durumda olabilir. Bunu varsayabilirsin0 < n <= s.length
Çıktı
Çıktı yalnızca dönüştürülmüş dizgiden (döndürülmüş veya STDOUT'a basılmış olsun) artı izleyen yeni satırlardan oluşmalıdır.
puanlama
Bu kod-golf , bayt cinsinden en kısa cevap! Standart boşluklara izin verilmez.
Test Kılıfları
Input Output
programmingpuzzles, 5 -> piermnlsomgzgapzru
codegolf, 3 -> cgoeofdl
elephant, 4 -> enlatehp
1234567, 3 -> 1524637
qwertyuiop, 1 -> qwertyuiop
n > 0
ama n=1
geçerli bir dava. Soruyu şimdi güncelleyeceğim.
n
> 1 olduğunu varsayabilir miyiz ? Lütfen açıklığa kavuşturun ve bir test davası