Socorro! Meu dispositivo está com defeito e sempre que tento repetir uma String, obtenho resultados confusos. Em vez de repetir a mesma seqüência N vezes, ele preenche um quadrado NxN com cada um de seus caracteres e empilha os quadrados para cima.
Por exemplo, considerando a String "Test"
e o número 2
, em vez de "TestTest"
, recebo:
TT
TT
ee
ee
ss
ss
tt
tt
Depois de ter visto isso por um tempo, comecei a gostar. Sua tarefa hoje é reproduzir esse comportamento estranho. Dada uma seqüência de caracteres não vazia que consiste apenas em ASCII imprimível e um número inteiro positivo , a saída do dispositivo com falha de String retorna.
Todas as regras padrão se aplicam.
A entrada e a saída podem ser tratadas por qualquer média razoável.
Isso é código-golfe , então o código mais curto em bytes em cada idioma vence.
Casos de teste
Entrada Resultado ---------- "Teste", 2 TT TT ee ee ss ss tt tt ---------- "UuU", 3 UUU UUU UUU uuu uuu uuu UUU UUU UUU ---------- "A", 5 AAAAA AAAAA AAAAA AAAAA AAAAA ----------
Você pode encontrar um caso de teste maior aqui . Boa sorte e divirta-se jogando golfe!
it fills an NxN square
- Não é uma afirmação correta.Respostas:
Gelatina , 4 bytes
Inspirado pelo abuso de Jelly do Sr. Xcoder
Um programa completo usando a string e o número como argumentos da linha de comando e imprimindo o resultado (como um link diádico, ele retorna uma lista de strings e caracteres de nova linha, que podem não ser realmente aceitáveis).
Experimente online!
Quão?
O ingênuo (não abusivo) cinco byter é:
O abuso usado pelo Sr. Xcoder (o Python
operator.mul
pode agir astr
e aint
para repetir osstr
caracteres aqui - e o átomo que o usa×
vetoriza o argumento esquerdo) também pode ser usado aqui para substituirx€
por×
- produzindo o programa completo :fonte
Gelatina , 5 bytes
É exatamente isso que nos pedem para fazer ... Abuso de comportamento indefinido! *
Experimente online!
* Por comportamento indefinido, estou falando sobre o uso
×
para repetir strings. Às vezes é um comportamento mais curto do que o normal, então por que não?fonte
Haskell , 26 bytes
A função
(!)
retorna uma lista de linhas.Experimente online!
fonte
Bash + GNU Sed, 58
Usando uma técnica muito semelhante a esta resposta para ilustrar como perto de ser um dup para este que esta pergunta é:
Experimente online .
fonte
Casca ,
54 bytes-1 byte graças a @Zgarb
Experimente online!
fonte
ṠMRṘ
funciona se você trocar as entradas.PowerShell , 31 bytes
Experimente online!
Explicação:
fonte
05AB1E ,
75 bytes-2 bytes graças ao scottinet
Experimente online!
fonte
=
) e substituindovy
porε
: Experimente online!Python 3 , 42 bytes
Experimente online!
fonte
MATL , 5 bytes
Experimente online!
Explicação
fonte
C ++,
125123 bytes-2 bytes graças ao aschepler
Certifique-se de que a sobrecarga do
+=
operador chamado tenha umchar
tipo de dados nesta instruçãoif(!(i++%b))r+=10
fonte
using s=std::string;
é menor quetypedef std::string s;
dois bytes.Japonês , 7 bytes
Produz uma matriz de seqüências de caracteres.
Experimente (
-R
sinalize apenas para fins de visualização)Explicação
Entrada implícita de sequência
U
e número inteiroV
.Gere uma matriz de números inteiros de
0
paraV-1
e passe cada um por uma função.Mapeie (
m
)U
e repita (r
) cada caractereV
vezes.Transpõe e gera implicitamente a matriz resultante.
fonte
R , 59 bytes
Grava em stdout.
Divide a sequência em caracteres, repete-se cada
n^2
vez e depois imprime com larguran
e sem separador.Experimente online!
fonte
J,
1514 bytesSub-ideal, com certeza. Retorna uma matriz 2D de caracteres. Toma
n
como argumento à esquerda e a sequência como à direita.No celular, faltam as comodidades usuais.
Explicação
(Para resposta antiga)
$"1 0
remodelar cada caractere para(2#[)
uma matrizn
*n
.,/
unir matrizes para produzir a saída.fonte
Perl 5 , 26 + 1 (-p) = 27 bytes
Experimente online!
fonte
Pitão, 9 bytes
Experimente aqui!
Pitão,
1110 bytesExperimente aqui!
Ou 10 bytes:
Ou 11 bytes:
fonte
Carvão , 9 bytes
Experimente online!
Explicação
fonte
Brainfuck, 103 bytes
Experimente online (certifique-se de ativar a memória dinâmica ou ela não será executada)
Nota: A entrada é um pouco diferente. Esse código usa uma sequência em que o último caractere é um dígito para o número de repetições. Portanto, a entrada pode parecer
Test5
.Esse código requer uma fita ilimitada e depende do comportamento de quebra de bytes.
Ungolfed:
fonte
SOGLOnline confirmar 2940dbe , 4 bytes
Isso foi feito para um commit específico, ou seja, aquele antes de eu mudar
∙
, quando usado em uma matriz de strings, repetindo cada letra x vezes para repetir cada item x vezes. Aqui está o intérprete online sem essa versão, que, como pode ser visto, não funciona.Para tentar o cometer, baixar este , abra o
index.html
arquivo, na pasta de programa∙ι*I
e na gravação de entrada algo comoExplicação:
fonte
Java 8,
152128118100 bytesExperimente online!
fonte
s->n->{for(char c:s)for(int j=0;j++<n;System.out.println("".valueOf(new char[n]).replace('\0',c)));}
APL (Dyalog) , 8 bytes
Leva a repetição como argumento à esquerda e o texto como argumento à direita.
Experimente online!
{
…}
Uma lambda sem nome onde⍺
representa o argumento da esquerda e⍵
o argumento da direita⍪⍵
transforme o texto em uma tabela de uma coluna⍺/
replicar os⍺
tempos horizontalmente⍺⌿
replicar⍺
vezes verticalmentefonte
Japonês , 7 bytes
Retorna uma matriz de strings.
Experimente online! com o
-R
sinalizador para ingressar na matriz com novas linhas.Explicação
fonte
D, 86 bytes
Experimente online!
Leva a string como argumento à esquerda e o número inteiro como argumento à direita. Esta é uma porta da resposta C ++ de HatsuPointerKun para D.
fonte
C (gcc) ,
8379 bytesExperimente online!
fonte
CJam, 11 bytes
Função que recebe string seguida por int.
Experimente Online
fonte
Kotlin 1.1 - 99 bytes
Retorna toda a saída como uma sequência.
Não é possível usar o TryItOnline porque o 1.1 não é suportado
Teste
Seria 84 se uma lista de strings fosse aceitável como saída:
fonte
PHP, 97 bytes
fonte
Mathematica, 49 bytes
entrada
fonte
Pitão , 12 bytes
Mente pequena, mas ainda não cheguei lá.
Explicação:
Suíte de teste
fonte
Clojure ,
8275 bytesExperimente online!
Descomprimido:
Edit: Raspou alguns caracteres do final, substituindo um loop for pela função stdlib repeat.
fonte
C # (.NET Core) , 68 + 18 bytes
Também incluído na contagem de bytes:
Experimente online!
Saída é uma coleção de coleções de caracteres (uma coleção para cada linha).
Explicação:
fonte