Dada una cadena como entrada, genera una cantidad de caracteres de espacio en blanco (0x0A y 0x20) igual a la longitud de la cadena.
Por ejemplo, dada la cadena, Hello, World!
su código necesitaría generar exactamente 13 caracteres de espacio en blanco y nada más. Estos pueden ser cualquier combinación de espacios y líneas nuevas.
Su código no debe generar líneas o espacios finales adicionales.
Casos de prueba:
Input -> Amount of whitespace to output
"Hello, World!" -> 13
"Hi" -> 2
" Don't
Forget about
Existing
Whitespace! " -> 45
"" -> 0
" " -> 13
"
" -> 1
Tanteo:
Este es el código de golf, ¡ por lo que gana menos bytes!
0x0A
y0x20
son los valores hexadecimales para los caracteres Newline y Space respectivamenteThese can be any mix of spaces and newlines
Su salida puede ser cualquier combinación de espacios y nuevas líneas, puede simplemente generar espacios si lo desea, como todos los demás, o puede simplemente generar nuevas líneas.Respuestas:
Espacio en blanco ,
311150776865464138 bytes-3 bytes gracias a Kevin Cruijssen
-27 bytes gracias a Ephphatha
Pruébalo en línea!
Un formato visible
Explicación (s = espacio, t = tabulación, n = nueva línea)
fuente
Japt , 1 byte
Pruébalo en línea!
fuente
-Q
bandera en la entrada para poner comillas alrededor de la salida. TIOHaskell , 7 bytes
Pruébalo en línea! Uso:
(>>" ") "Hello, world!"
.Dadas dos listas (y las cadenas son listas de caracteres en Haskell), el
>>
operador repetirá la segunda lista tantas veces como la primera lista tenga elementos. Establecer" "
como segundo argumento significa que concatenamos tantos espacios como la cadena de entrada es larga.Alternativa (mismo recuento de bytes):
Pruébalo en línea! Uso:
(' '<$) "Hello, world!"
.Dado un valor y una lista, el
<$
operador reemplaza cada valor de la lista con el valor dado. Por lo tanto,5 <$ "abc"
da como resultado[5,5,5]
, y' ' <$ "abc"
en" "
.La función se puede escribir de manera equivalente
(<$)' '
, en caso de que desee encontrar algunas criaturas marinas más en mi código.fuente
brainfuck , 18 bytes
Pruébalo en línea!
Imprime una nueva línea para cada byte de entrada. Imprimir espacios en su lugar agregaría 4 bytes.
fuente
,[>++++++++++.,]
Python, 19 bytes
fuente
Retina,
34 bytesLa versión anterior no funciona porque Retina imprime un avance de línea final.
(La segunda línea contiene un espacio).
fuente
\`
para evitar eso. Sin embargo, es más corto de usarS\`.
, lo que reemplaza cada carácter con un salto de línea (porque divide la entrada alrededor de cada carácter).sed , 7 bytes
Pruébalo en línea!
fuente
Brainfuck, 16 bytes
Imprime nuevas líneas.
fuente
C #,
2824 bytesVersión antigua que usa el
string
constructor para 28 bytes:fuente
Retina , 5 bytes
Pruébalo en línea! Cambia todo a nuevas líneas. El
\`
suprime el salto de línea extra Retina haría normalmente de salida.fuente
Mathematica, 21 bytes
fuente
#/._->" "&
. Lamentablemente, la entrada es una cadena y los caracteres [] hacen que sea un byte más largo que su solución :(#
y a&
? Por ejemploStringReplace[#,_->" "]&
JavaScript ES6, 22 bytes
fuente
s=>s.replace(/[^]/g," ")
, un byte más largo que la otra solución". No se me ocurrió que se permitan nuevas líneas en la salida: PC, 31 bytes
fuente
i++, j++
en un bucle for) y devuelve la más a la derecha. Un detalle importante es que la recursión tiene que detenerse de alguna manera.&&
no evalúa es rhs si es lhs es falso.*c++
evalúa falso cuando apunta a la terminación nula de la cadena.PHP, 28 bytes
Pruébalo en línea!
PHP, 29 bytes
Pruébalo en línea!
fuente
Excel VBA,
1715 bytesFunción de ventana inmediata VBE anónima que toma la entrada de la celda
[A1]
y genera espacios de longitud de la entrada a la ventana inmediata VBEfuente
05AB1E , 3 bytes
Pruébalo en línea!
Otras soluciones de 3 bytes (Gracias Urna de pulpo mágico y Kevin Cruijssen por la mayoría de estos)
fuente
gð×
el resto se me ocurrió por encima de 3 como:õ‚.B¤
Sð:
ðs∍
võJ
/v¶J
;€ðJ
/ۦJ
. Y dado que una secuencia de caracteres como E / S está permitida de manera predeterminada cuando se solicitan cadenas de E / S, son posibles algunas versiones de 2 bytes:€ð
/ۦ
/εð
/ε¶
yð:
/¶:
. Aunque dado que este es un desafío bastante antiguo y todas las demás respuestas usan cadenas reales, podría entender si lo mantuviera como E / S de cadena.Octava, 14 bytes
fuente
CJam , 4 bytes
Pruébalo en línea!
Explicación
fuente
C, 45 bytes
Usando main. Compila con gcc, ignora las advertencias.
Uso:
fuente
char**v
enmain(c,v)
?gcc main.c
no parece permitir mezclar la definición de la función ANSI con la definición de la función K&R, pormain(c,char**v)
lo que no se compilará. Tengo que hacermain(int c,char**v)
omain(c,v)char**v;
el último es 3 bytes más corto. ¿No conocerías por casualidad alguna bandera o algo que permita mezclar estos estilos?char**v
completo tampoco compila.char**
completo, el compilador lo interpretará comoint
. Si no me equivoco, obtienes un error al intentar desreferenciarint
e, incluso si no lo hicieras, el programa no haría lo que esperabas, ya que unint
consume varioschar
segundos y, por lo tanto, nunca obtienes unNULL
valor.JavaScript (ES6), 23 bytes
fuente
Excel, 18 bytes
Bastante aburrido y un byte más largo que la respuesta de VBA .
fuente
> <> , 7 bytes
El programa es un bucle.
fuente
V , 2 bytes
Pruébalo en línea!
Tenga en cuenta el espacio final!
fuente
Hexagonía ,
1211 bytes-1 byte gracias a Martin Ender
Pruébalo en línea!
Aquí está el hex expandido:
Mientras hay entrada, este código se ejecuta:
Cuando se alcanza EOF:
fuente
M8;
(lo que da 778 = 10 (mod 256)). Eso debería permitirle mover el lugar~
donde;
está ahora, guardar un byte.Perl 5 , 7 bytes
-1 byte gracias a @Xcali
6 bytes de código +
-p
bandera.Pruébalo en línea!
Muy sencillo: reemplaza a cada personaje con un espacio.
fuente
y// /c
es un byte más corto.Python 2, 25 bytes
-2 bytes gracias a Loovjo
-2 bytes en el código inválido gracias a totalmente humano: p
-3 bytes
fuente
exec
ya que es una palabra clave en Python 2exec'print;'*len(input())
funciona.PHP, 36 bytes
Pruébalo en línea!
Produce nuevas líneas porque los espacios son demasiado convencionales
fuente
$argn
en lugar de$argv[1]
guardar 4 bytes. Corre con la-F
opciónCubix , 6 bytes
Wahoo un 6 byter!
Cubified
i
obtiene entrada?
probar la parte superior de la pilaw
cambio de carril que se@
detieneSow
espacio de empuje positivo para la pila, salida y cambie de carril ai
Pruébalo en línea!
fuente
C, 32 bytes
Intenta modificar personajes en línea en espacios
C, 37 bytes
Pruebe en línea rellenando el extremo izquierdo de la cadena con su longitud
fuente
APL (Dyalog) 13.2, 1 byte
Imprime solo espacios.
∊
prototipo (los números se convierten en ceros, los caracteres se convierten en espacios)Pruébalo en línea!
fuente