Sandbox postar aqui .
Crie uma função ou programa que "Springifica" uma seqüência de caracteres.
- A entrada será uma String em Stdin, ou a alternativa mais próxima
- A entrada conterá apenas ASCII e / ou espaços imprimíveis
- A saída será para Stdout, ou a alternativa mais próxima
- Novas linhas e espaços à direita são aceitáveis
Como springify uma String
- Formate o String em quantas bobinas de mola ASCII forem necessárias
- Preencher as bobinas com espaços, até a bobina mais próxima
- Leia os caracteres, seguindo a mola ao redor das bobinas
Esta é uma bobina de mola ASCII:
#
# ####
# #
# ####
#
Onde #
s são os caracteres da String
Aqui está um exemplo:
abcdefghijklmnopqrstuvwxyz
torna-se
a
b cdef
g h
i jklm
n
o
p qrst
u v
w xyz.
.
Onde eles .
substituem espaços para visibilidade.
Em seguida, a string é lida novamente, seguindo a mola ASCII para baixo, ao redor dos loops, pressionando a tecla g
e u
duas vezes:
1| a <-3
V b cdef
g h
4| i jklm
V n 2->
...
... dando:
abgjklmhfedcginopuxyz vtsrquw
(com um espaço à direita)
Casos de teste
(cotações adicionadas para destacar espaços à direita - ignore em termos de IO)
I: "abcdefghijklmnopqrstuvwxyz"
O: "abgjklmhfedcginopuxyz vtsrquw "
I: "!@#"
O: "!@ # "
I: ""
O: ""
I: "12345 67890"
O: "12690 7 54368 "
I: " "
O: " "
Observe que o comprimento de saída é sempre um múltiplo de 15, o comprimento de uma bobina de mola
Isso é código-golfe , então a resposta mais curta em bytes vence.