Dada uma sequência de texto, produza-a como uma 'torre'.
Cada fatia da string (do formulário 0:n
) é repetida várias 5*n
vezes; portanto, o primeiro caractere é repetido 5 vezes, depois o primeiro e o segundo 10 vezes, etc.
Exemplos:
'hello' ->
['h']
['h']
['h']
['h']
['h']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
'cat' ->
['c']
['c']
['c']
['c']
['c']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
Regras:
Você pode imprimir cada camada como uma lista de caracteres ou apenas uma sequência deles.
[["c","c","c","c","c"],["ca","ca","ca","ca","ca","ca","ca","ca","ca","ca"],...]
:?Respostas:
R , 48 bytes
Experimente online!
Retorna uma lista de strings.
fonte
05AB1E , 6 bytes
Experimente online!
Retorna uma lista de string.
Explicação
fonte
ηā5*ÅΓ
ηvyg5*Fy=
por 8 anos.Haskell , 36 bytes
Experimente online!
fonte
Stax , 8 bytes
Execute e depure
Descompactado, não jogado e comentado, parece com isso.
Execute este
fonte
TI-Basic (TI-84 Plus CE), 29 bytes (27 tokens)
Explicação:
fonte
Retina , 15 bytes
Experimente online! O link inclui casos de teste. Explicação:
Combine cada caractere na sequência.
$`
é o prefixo da partida. O Retina fornece dois modificadores,>
modifica-o para que esteja no contexto da sequência entre correspondências sucessivas, enquanto.
leva o comprimento. Portanto, começamos com o prefixo do sufixo, que é equivalente à correspondência, incluindo seu prefixo. Isso economiza 2 bytes usando correspondências sobrepostas. Em$(
seguida, concatena que, com uma nova linha, a5*
repita e, em seguida, a$.>`
repete mais um número de vezes, dada por seu comprimento.fonte
Tela , 6 bytes
Experimente aqui!
Explicação:
fonte
Braquilog , 15 bytes
Experimente online!
A final
c
pode ser removida se o OP responder positivamente à pergunta sobre a saída de matrizes 2D.fonte
Cubix ,
4440 bytesExperimente online!
Isso ainda tem muitas no-ops, mas é um pouco melhor do que antes.
Como uma descrição muito breve, um personagem é capturado da entrada e testado para EOI (-1), interrompido se for. A pilha é então invertida. Obtenha o número de itens na pilha e múltiplos por -5. Coloque isso no fundo da pilha e limpe. Passe pela pilha, imprimindo, até um número negativo. Imprima nova linha, aumente o número, se 0 soltar o zero, inverter a pilha e começar da entrada novamente, caso contrário, percorrerá a pilha, imprimindo, até um número negativo ... ad nauseum
Cubificado parece
Assista online
fonte
Gelatina , 8 bytes
Experimente online!
Experimente online!
Experimente online!
Isso provavelmente é jogável.
fonte
+\ẋ"Jx5Ẏ
JavaScript,
4846 bytes(obrigado @redundancy)
Edit: O autor esclareceu e esta resposta agora não é válida, mas vou deixá-lo aqui inalterado.
Retorna uma matriz de seqüências de várias linhas.
Tente
Estratégia potencial:
Isso não me ajudou muito, mas talvez alguém possa usar isso:
O número de caracteres na linha (indexada 0)
i
éfloor(sqrt(2/5*i+1/4)+1/2)
, que é jogado no JavaScript como(.4*i+.25)**.5+.5|0
.Para uma sequência de comprimento
n
, hán*(n+1)*5/2
linhas.Possivelmente:
s=>{for(i=0;(n=(.4*i+++.25)**.5+.5|0)<=s.length;)console.log(s.slice(0,n))}
fonte
Python 3 ,
4341 bytesObrigado ao ovs por economizar 2 bytes!
Código
Experimente online!
fonte
C (gcc) , 67 bytes
Experimente online!
fonte
Casca , 8 bytes
Experimente online!
Explicação
fonte
Haskell,
464342 bytesExperimente online!
Infelizmente
inits
requerimport Data.List
, entãocom seus 45 bytes é maior.
Edit: -1 byte graças a @BWO.
fonte
Carvão , 11 bytes
Experimente online! Link é a versão detalhada do código. A saída inclui 0 repetições da substring de comprimento zero. Explicação:
fonte
Ruby ,
4642 bytesExperimente online!
fonte
PowerShell ,
402025 bytesPontuação cortada ao meio, graças a
+5 bytes confusos, graças ao AdmBorkBork apontando as especificações
Experimente online!
Recebe entrada através de splatting. Funciona criando a sequência adicionando o próximo caractere a si próprio, convertendo-o em uma matriz de um elemento e repetindo-o várias
5*i
vezes.fonte
param
é muito caro. Tente evitá-loMATL , 12 bytes
Experimente online!
fonte
V , 17 bytes
Espera entradas sem novas linhas e saídas com novas linhas supérfluas.
Eu posso remover esta entrada se a entrada / saída violar a especificação do desafio.
Experimente online!
21 bytes
Espera entradas sem novas linhas, mas gera apenas uma nova e inicial e posterior.
Explicação
Substrings diferentes são separados por duas novas linhas consecutivas, de modo que a duplicação na linha se aplique apenas às linhas correspondentes ao regex
$\n\n
.Quando o comando de duplicação (
Ä
) recebe uma contagem, por exemplo6Ä
, (acho), ele exclui a linha atual antes de colar osn
tempos, parecendo apenas anexarn - 1
cópias.fonte
Perl 5 , 29 bytes
Experimente online!
fonte
Perl 6 , 25 bytes
Experimente online!
Bloco de código anônimo que retorna uma lista de lista de strings.
Se você deseja como uma matriz 1D, pode acrescentar
flat
na frente da seguinte forma:Experimente online!
Explicação:
Alternativamente,
Experimente online!
Também funciona para a mesma quantidade de bytes.
fonte
Japonês, 10 bytes
Aguardando confirmação sobre se o formato de saída é aceitável (+2 bytes, se não).
Tente
fonte
Japonês ,
1512 bytes-3 bytes de @Shaggy
Experimente online!
fonte
JavaScript, 76 bytes
fonte
i=1;i<=s.length;i++
pode seri=0;++i<=s.length;
.Quarto (gforth) , 48 bytes
Experimente online!
Explicação
Código Explicação
fonte
Java 10,
120929089 bytes-28 bytes graças a @ OlivierGrégoire .
-1 byte graças a @ceilingcat .
Experimente online.
Explicação:
fonte
s->{for(int i=1,j=1;i<=s.length();i+=j++<i*5?0:+(j=1))System.out.println(s.substring(0,i));}
>=
e em?j=1:0
vez de<
e?0:+(j=1)
.brainfuck , 40 bytes
Experimente online!
fonte
APL (Dyalog Unicode) , SBCS de 14 bytes
Experimente online!
Meu primeiro post apl, por favor, deixe-me saber se você tem alguma sugestão
Como funciona:
fonte
↑
não é realmente Separado em linhas, mas Combinado [lista de listas] em linhas [de uma matriz] , ou mais tecnicamente Aumente a classificação à custa da profundidade .Ruby , 37 bytes
Experimente online!
fonte