Es posible que conozcas a Alan Walker por su siempre popular canción Faded. Ahora sus "seguidores" se llaman Walkers y tienen un logotipo, aquí hay una versión simplificada:
\\
\\ //\\
\\ // \\ //
\\ // \\ //
\\ // \\ //
\\ // \\ //
\\ // \\ //
\\ // //\\ \\ //
\\// // \\ \\//
// // \\ \\
//\\ // \\ //\\
\\// \\// \\
\\
El objetivo de este desafío es imprimir este logotipo.
REGLAS:
- Si devuelve una lista de cadenas de una función según los meta estándares, proporcione un pie de página que lo imprima en la pantalla.
- Todos los caracteres del logotipo anterior deben estar allí. ¡Sin atajos!
- ¡El menor número de bytes gana!
Respuestas:
Carbón ,
31302927 bytesPruébalo en línea! El enlace es a la versión detallada del código. Lamentablemente
Copy
no hace lo que quiero en este caso, así que tengo que hacer un bucle. Explicación:Dibuje todo dos veces, pero con el cursor comenzando un carácter a la derecha la segunda vez.
Dibuje la W principal de derecha a izquierda, pero deje el cursor cerca de la V. invertida
Dibuja la V. invertida
fuente
F²«Jι⁰↘χ↗↗⁵M⁵↑←↙χ»‖M↥\\¶ \\F²«Jι⁰↖³
.JavaScript (ES6),
172139 bytes¿Cómo?
El logotipo consiste básicamente en grupos de espacios seguidos de uno
//
o\\
y saltos de línea.Los espacios y los patrones finales se codifican utilizando valores de base 36:
0
for//
,1
for\\
.Todo se puede codificar de esta manera con un solo dígito base-36, excepto la última línea que consta de 30 espacios seguidos de
\\
30 * 2 + 1 = 61 =1p
en base-36. Estop
debe interpretarse como 12 espacios seguidos de\\
pero este patrón no aparece en ningún lado. Por lo tanto, podemos simplemente manejar este caso especial en el costo de 2 bytes adicionales en la expresión regular:/.p?/
.Primera versión, 186 bytes
NB: Este se envió antes de la actualización del logotipo.
Mostrar fragmento de código
fuente
brainfuck , 579 bytes
Pruébalo en línea!
Genera las constantes
47 92 32 10
en la memoria, luego las selecciona y las genera según corresponda.fuente
SOGL V0.12 , 38 bytes
Pruébalo aquí!
fuente
Chicle ,
7776 bytesHexdump:
Pruébalo en línea!
Umbral de chicle. :PAG
fuente
/// , 166 bytes
Pruébalo en línea!
fuente
C (gcc) , 377 bytes
Pruébalo en línea!
fuente
Python 2 , 197 bytes
Pruébalo en línea!
Utiliza la lógica de la respuesta JS.
fuente
Haskell,
161160 bytesPruébalo en línea!
Los espacios anteriores
\\
se codifican como letras minúsculas y antes//
como letras mayúsculas, donde el número de espacios es el valor ASCII menos 96 (o 64). Cero espacios es`
/@
. Los espacios de cada línea se almacenan en orden inverso, ya que se consumen en un doblez derecho.fuente
Carbón , 51 bytes
Pruébalo en línea!
Carbón de leña , 50 bytes
Pruébalo en línea!
fuente
Carbón ,
5031 bytesPruébalo en línea! El enlace es a la versión detallada.
Lo intenté. (Además, señalaré que hice esto completamente por mi cuenta, incluso si se ve algo similar al otro. [Shiz, lo hice de nuevo. Por cierto, esto todavía es diferente.: P])
fuente
Jalea , 65 bytes
Pruébalo en línea!
Devuelve una lista de caracteres. El enlace TIO tiene un pie de página para imprimir en líneas separadas.
fuente
PHP, 186 bytes:
Ambas versiones requieren PHP 5.5 o posterior.
Corre
-nr
o pruébalos en líneala compresión espacial ofrece la alternativa más corta:
(doble barra invertida asignada a
0
, barra doble af
, sapces comprimidos a dígitos)PHP 7.1 arroja advertencias; reemplazar
+$c
con$c>0
para arreglar.mapa de bits codificado en base 64 ( 187 bytes ):
(espacio asignado
00
, nueva línea01
, doble barra diagonal inversa10
y doble barra diagonal11
, luego concatena 3 "píxeles" cada uno en un carácter, antepuesto1
y convertido de binario a ASCII)(primer salto de línea para facilitar la lectura; el otro es esencial)
fuente
Chicle , 74 bytes
Pruébalo en línea!
fuente
PowerShell ,
221220 bytesPruébalo en línea!
Enfoque bastante ingenuo ( y 50 bytes peor que la respuesta de JS, avergonzado ). ¿Alguien sabe de una manera de hacer múltiples
-replace
s en PowerShell?-1 byte gracias a Veskah.
fuente
Python 2 , 180 bytes
Pruébalo en línea!
La codificación es base 36:
y de lo contrario,
fuente
C # (compilador interactivo de Visual C #) , 122 bytes (121 caracteres)
Pruébalo en línea!
Explicación
Cada parte del logotipo es solo 0+ espacios con una
\\
o una//
al final, más tal vez una nueva línea. Hay 52 de estos. Luego codificamos cada segmento en un carácter:Tome el número de espacios en cada segmento, luego agregue 2 a ese número.
Bit cambia el número a la izquierda 2 veces.
Si el segmento termina con
//
, en bits o el número por uno.Si el segmento termina con una nueva línea, en bits O el número por dos.
Toma el número y échalo en un char.
Repita para cada segmento.
Aquí están todos los 52 segmentos y el valor numérico en el que codifican:
fuente
j>>2
->j/4
string.Concat
aquí para que sea válida ...C (gcc) ,
144140139 bytes-4 bytes gracias a ceilingcat .
Cada carácter en la cadena codifica una cantidad de espacios para usar antes de cierta cadena. Si se trata de una letra minúscula (o una tecla de retroceso), entonces la cadena es "\", y si es mayúscula o @, es "//". Un espacio significa una nueva línea.
Pruébalo en línea!
fuente