Sfida
Scrivi un programma o una funzione che accetta una stringa se un numero intero ncome parametri. Il programma deve stampare (o restituire) la stringa quando viene trasformata come segue:
Partendo in alto a sinistra e muovendosi verso il basso e verso destra, scrivi scome un'onda di altezza n. Quindi, dall'alto verso il basso, combina ogni riga come una stringa (senza spazi).
Esempio
Data la stringa "WATERMELON" e un'altezza di 3:
L'onda dovrebbe apparire così:
W R O
A E M L N
T E
Quindi, combina le righe dall'alto verso il basso:
WRO
AEMLN
TE
Quindi, il tuo programma dovrebbe restituire la stringa "WROAEMLNTE"
Allo stesso modo, "WATERMELON" con altezza 4 dovrebbe produrre la seguente onda:
W E
A M L
T R O
E N
Il programma dovrebbe quindi restituire la stringa "WEAMLTROEN"
Regole
Ingresso
L'input può essere preso in qualsiasi formato ragionevole. La stringa può essere in ogni caso tu preferisca. Si può presumere che0 < n <= s.length
Produzione
L'output deve essere costituito solo dalla stringa trasformata (restituita o stampata su STDOUT), oltre a eventuali nuove righe finali.
punteggio
Questo è code-golf , quindi vince la risposta più breve in byte! Non sono ammesse scappatoie standard.
Casi test
Input Output
programmingpuzzles, 5 -> piermnlsomgzgapzru
codegolf, 3 -> cgoeofdl
elephant, 4 -> enlatehp
1234567, 3 -> 1524637
qwertyuiop, 1 -> qwertyuiop
n > 0, ma n=1è un caso valido. Aggiornerò la domanda ora.
n> 1? Si prega di chiarire e in caso contrario aggiungere un caso di prova