Desafio
Escreva um programa ou função que utilize uma string s
e um número inteiro n
como parâmetros. Seu programa deve imprimir (ou retornar) a string quando transformada da seguinte maneira:
Começando no canto superior esquerdo e movendo-se para baixo e para a direita, escreva s
como uma onda de altura n
. Em seguida, de cima para baixo, combine cada linha como uma sequência (sem espaços).
Exemplo
Dada a sequência "WATERMELON" e uma altura de 3:
A onda deve ficar assim:
W R O
A E M L N
T E
Em seguida, combine as linhas de cima para baixo:
WRO
AEMLN
TE
Portanto, seu programa deve retornar a string "WROAEMLNTE"
Da mesma forma, "WATERMELON" com altura 4 deve produzir a seguinte onda:
W E
A M L
T R O
E N
Seu programa deve retornar a string "WEAMLTROEN"
Regras
Entrada
A entrada pode ser obtida em qualquer formato razoável. A string pode estar em qualquer caso que você preferir. Você pode assumir que0 < n <= s.length
Saída
A saída deve consistir apenas na sequência transformada (retornada ou impressa em STDOUT), além de quaisquer novas linhas finais.
Pontuação
Isso é código-golfe , então a resposta mais curta em bytes vence! As brechas padrão não são permitidas.
Casos de teste
Input Output
programmingpuzzles, 5 -> piermnlsomgzgapzru
codegolf, 3 -> cgoeofdl
elephant, 4 -> enlatehp
1234567, 3 -> 1524637
qwertyuiop, 1 -> qwertyuiop
n > 0
, mas n=1
é um caso válido. Vou atualizar a pergunta agora.
n
> 1? Por favor, esclareça e, se não adicionar, um caso de teste