Dada uma sequência como entrada, produza um número de caracteres de espaço em branco (0x0A e 0x20) igual ao comprimento da sequência.
Por exemplo, dada a cadeia de caracteres, Hello, World!
seu código precisaria gerar exatamente 13 caracteres de espaço em branco e nada mais. Podem ser qualquer mistura de espaços e novas linhas.
Seu código não deve gerar novas linhas ou espaços à direita adicionais.
Casos de teste:
Input -> Amount of whitespace to output
"Hello, World!" -> 13
"Hi" -> 2
" Don't
Forget about
Existing
Whitespace! " -> 45
"" -> 0
" " -> 13
"
" -> 1
Pontuação:
Este é o código-golfe, pois o menor número de bytes vence!
0x0A
e0x20
são os valores hexadecimais para os caracteres nova linha e espaço, respectivamenteThese can be any mix of spaces and newlines
Sua saída pode ser qualquer mistura de espaços e novas linhas; você pode apenas gerar espaços se desejar, como todos os outros, ou apenas gerar novas linhas.Respostas:
Espaço em branco ,
311150776865464138 bytes-3 bytes graças a Kevin Cruijssen
-27 bytes graças a Ephphatha
Experimente online!
Um formato visível
Explicação (s = espaço, t = tabulação, n = nova linha)
fonte
Japt , 1 byte
Experimente online!
fonte
-Q
sinalizador na entrada para colocar aspas na saída. TIOHaskell , 7 bytes
Experimente online! Uso:
(>>" ") "Hello, world!"
.Dadas duas listas (e seqüências de caracteres são listas de caracteres em Haskell), o
>>
operador repetirá a segunda lista quantas vezes a primeira lista tiver elementos. Definir" "
como segundo argumento significa que concatenamos tantos espaços quanto a string de entrada é longa.Alternativo (mesma contagem de bytes):
Experimente online! Uso:
(' '<$) "Hello, world!"
.Dado algum valor e uma lista, o
<$
operador substitui cada valor na lista pelo valor fornecido. portanto5 <$ "abc"
resulta em[5,5,5]
, e' ' <$ "abc"
em" "
.A função pode ser escrita equivalentemente como
(<$)' '
, caso você queira encontrar mais algumas criaturas marinhas no meu código.fonte
brainfuck , 18 bytes
Experimente online!
Imprime uma nova linha para cada byte de entrada. Os espaços de impressão adicionariam 4 bytes.
fonte
,[>++++++++++.,]
Python, 19 bytes
fonte
Retina,
34 bytesVersão antiga, não funciona porque o Retina imprime um avanço de linha à direita.
(A segunda linha contém um espaço).
fonte
\`
para evitar isso.S\`.
Porém, é mais curto de usar , que substitui cada caractere por um avanço de linha (porque divide a entrada em torno de cada caractere).sed , 7 bytes
Experimente online!
fonte
Brainfuck, 16 bytes
Imprime novas linhas.
fonte
C #,
2824 bytesVersão antiga usando o
string
construtor para 28 bytes:fonte
Retina , 5 bytes
Experimente online! Altera tudo para novas linhas. o
\`
suprime a nova linha extra de Retina faria normalmente saída.fonte
Mathematica, 21 bytes
fonte
#/._->" "&
. Infelizmente, a entrada é uma cadeia e Personagens [] faz com que seja um byte mais do que a sua solução :(#
e um&
? Por exemploStringReplace[#,_->" "]&
JavaScript ES6, 22 bytes
fonte
s=>s.replace(/[^]/g," ")
, um byte mais longo que a outra solução". Não me ocorreu que novas linhas sejam permitidas na saída: PC, 31 bytes
fonte
i++, j++
em um loop for) e retorna a mais à direita. Um detalhe importante é que a recursão deve parar de alguma forma.&&
não avalia rhs se lhs for falso.*c++
avalia false quando aponta para a terminação nula da string.PHP, 28 bytes
Experimente online!
PHP, 29 bytes
Experimente online!
fonte
Excel VBA,
1715 bytesFunção de janela imediata VBE anônima que leva a entrada da célula
[A1]
e gera espaços de comprimento da entrada para a janela imediata VBEfonte
05AB1E , 3 bytes
Experimente online!
Outras soluções de 3 bytes (Agradecemos a Magic Octopus Urn e Kevin Cruijssen pela maioria)
fonte
gð×
, o resto eu vim com eram acima de 3 como:õ‚.B¤
Sð:
ðs∍
võJ
/v¶J
;€ðJ
/ۦJ
. E como uma sequência de caracteres como E / S é permitida por padrão quando são solicitadas E / S de cadeias, são possíveis algumas versões de 2 bytes:€ð
/ۦ
/εð
/ε¶
eð:
/¶:
. Embora esse seja um desafio bastante antigo e todas as outras respostas usem cadeias reais, eu poderia entender se você a mantinha como E / S de cadeia.Oitava, 14 bytes
fonte
CJam , 4 bytes
Experimente online!
Explicação
fonte
C, 45 bytes
Usando main. Compile com o gcc, ignore os avisos.
Uso:
fonte
char**v
emmain(c,v)
?gcc main.c
não parece permitir a mistura da definição de função ANSI com a definição de função K&R, portantomain(c,char**v)
, não será compilada. Eu tenho que fazermain(int c,char**v)
oumain(c,v)char**v;
dos quais o último é 3 bytes mais curto. Por acaso você não conheceria nenhuma bandeira ou algo que permita misturar esses estilos?char**v
completamente também não é compilado.char**
completamente, o compilador o interpretará comoint
. Se não me engano, você recebe um erro ao tentar desreferenciarint
e, mesmo que não o fizesse, o programa não faria o que você esperava, pois umint
consome vários sechar
você nunca obtém umNULL
valor.JavaScript (ES6), 23 bytes
fonte
Excel, 18 bytes
Muito chato e um byte mais longo que a resposta do VBA .
fonte
> <> , 7 bytes
O programa é um loop
fonte
V , 2 bytes
Experimente online!
Observe o espaço à direita!
fonte
Hexagonia ,
1211 bytes-1 byte graças a Martin Ender
Experimente online!
Aqui está o hexágono expandido:
Enquanto houver entrada, este código é executado:
Quando o EOF é alcançado:
fonte
M8;
(o que fornece 778 = 10 (mod 256)). Isso deve permitir que você mova o local~
onde;
está agora, salvando um byte.Perl 5 , 7 bytes
-1 byte graças a @Xcali
6 bytes de código +
-p
sinalizador.Experimente online!
Bem direto: substitui cada personagem por um espaço.
fonte
y// /c
é um byte mais curto.Python 2, 25 bytes
-2 bytes graças a Loovjo
-2 bytes no código inválido graças a totallyhuman: p
-3 bytes
fonte
exec
uma vez que é uma palavra-chave em Python 2exec'print;'*len(input())
funciona.PHP, 36 bytes
Experimente online!
Gera novas linhas porque os espaços são muito comuns
fonte
$argn
em vez de$argv[1]
salvar 4 bytes. Corra com a-F
opçãoCubix , 6 bytes
Wahoo um byter 6!
Cubificado
i
recebe entrada?
topo da pilha de testew
mudança de faixa, o qual é@
interrompidoSow
empurrar espaço positivo para a pilha, produza e mude a faixa parai
Experimente online!
fonte
C, 32 bytes
Experimente caracteres de modificação on-line em espaços
C, 37 bytes
Experimente on - line preenchendo o final da cadeia com o comprimento
fonte
APL (Dyalog) 13,2, 1 byte
Imprime apenas espaços.
∊
protótipo (números se tornam zeros, caracteres se tornam espaços)Experimente online!
fonte