Reto
Escriba un programa o función que tome una cadena s
y un entero n
como parámetros. Su programa debe imprimir (o devolver) la cadena cuando se transforma de la siguiente manera:
Comenzando en la parte superior izquierda y moviéndose hacia abajo y hacia la derecha, escriba s
como una ola de altura n
. Luego, de arriba a abajo, combine cada fila como una cadena (sin espacios).
Ejemplo
Dada la cadena "WATERMELON" y una altura de 3:
La ola debería verse así:
W R O
A E M L N
T E
Luego, combine las filas de arriba a abajo:
WRO
AEMLN
TE
Por lo tanto, su programa debería devolver la cadena "WROAEMLNTE"
Del mismo modo, "WATERMELON" con altura 4 debería producir la siguiente ola:
W E
A M L
T R O
E N
Su programa debería devolver la cadena "WEAMLTROEN"
Reglas
Entrada
La entrada puede tomarse en cualquier formato razonable. La cadena puede ser en cualquier caso que prefiera. Puedes suponer que0 < n <= s.length
Salida
La salida debe consistir solo en la cadena transformada (ya sea devuelta o impresa en STDOUT), más cualquier nueva línea final.
Tanteo
Este es el código de golf , por lo que la respuesta más corta en bytes gana Las lagunas estándar no están permitidas.
Casos de prueba
Input Output
programmingpuzzles, 5 -> piermnlsomgzgapzru
codegolf, 3 -> cgoeofdl
elephant, 4 -> enlatehp
1234567, 3 -> 1524637
qwertyuiop, 1 -> qwertyuiop
n > 0
, pero n=1
es un caso válido. Actualizaré la pregunta ahora.
n
> 1? Por favor aclare y si no agrega un caso de prueba