Nota para los mods, si el título no le hace justicia, cámbielo a lo que sea, pensé que era divertido.
Tienes la tarea de colgar las luces para esta temporada navideña, y tu familia ha decidido que para que sea una feliz Navidad, debes colgar al menos 2 luces navideñas en tu casa. Entonces, su desafío es, dado un número 1 < n
, generar el número correspondiente de luces navideñas que colgará de acuerdo con las siguientes especificaciones ...
Aquí está la estructura de una luz navideña básica:
_?_
[___]
/:' \
|:: |
\::. /
\::./
'='
La única parte incierta es el signo de interrogación, ya que dependiendo de dónde aterrice la luz en la cadena, la conexión será muy diferente.
Para la primera luz de la cadena, deberá generar:
.--._
_(_
[___]
/:' \
|:: |
\::. /
\::./
'='
Para la última luz en la cadena, deberá generar:
_.--.
_)_
[___]
/:' \
|:: |
\::. /
\::./
'='
Y para todas las luces en el medio:
_.--.--._
_Y_
[___]
/:' \
|:: |
\::. /
\::./
'='
Ejemplo:
N = 2 :
.--.__.--.
_(_ _)_
[___] [___]
/:' \ /:' \
|:: | |:: |
\::. / \::. /
\::./ \::./
'=' '='
N = 6 :
.--.__.--.--.__.--.--.__.--.--.__.--.--.__.--.
_(_ _Y_ _Y_ _Y_ _Y_ _)_
[___] [___] [___] [___] [___] [___]
/:' \ /:' \ /:' \ /:' \ /:' \ /:' \
|:: | |:: | |:: | |:: | |:: | |:: |
\::. / \::. / \::. / \::. / \::. / \::. /
\::./ \::./ \::./ \::./ \::./ \::./
'=' '=' '=' '=' '=' '='
Crédito
ASCII-Art fue tomado de: http://www.chris.com/ascii/index.php?art=holiday/christmas/other
Fue desarrollado por un usuario llamado "jgs", que es responsable de alrededor del 40% del contenido de ese sitio.
Reglas
- Los espacios finales están bien, lo mismo con una nueva línea final.
- Hay 1 espacio más entre la primera y la última bombilla del resto de la cadena.
- Solo puede tomar 1 entero como entrada, y la salida DEBE ser una cadena, no matrices.
- Su programa puede tener funciones indefinidas para valores inferiores a 2.
Este es un código de golf de arte ascii , el menor recuento de bytes gana.
Respuestas:
SOGL V0.12 ,
73717066 bytesPruébalo aquí!
-4 bytes al recorrer una cadena
(YYY)
como la respuesta de Charcoal63 bytes funcionarían si 2 no necesitaran ser manejados: /
fuente
save SOGL codepage encoded file
botón, le da un archivo de 70 bytes, que también puede cargar allí (aunque el botón de exploración no está intuitivamente distante, lo arregla). SOGL usa una página de códigos personalizada para hacerlo. (la página de códigos está vinculada en el encabezado de la respuesta)Python 3,
200195191190186 bytes-1 byte de dylnan
-4 bytes de Rod
Toma entrada en stdin.
Pruébalo en línea!
Explicación:
Versión festiva adicional!
fuente
for s in l:print(s,s*x,s)
guarda un byte.Pyth ,
113107 bytesPruébalo en línea!
No es exactamente la versión más golfista ...
fuente
JavaScript (ES6), 180 bytes
Prueba
fuente
JavaScript (ES6),
204201196194192 bytesMostrar fragmento de código
fuente
.--._${(r=x=>x.repeat(N-2))(`_.--.--._`)}_.--.
con${(r=x=>x.repeat(N-1))(`.--.__.--`)}.
N
después de la primera llamadar
, pero eso funciona bien.Carbón ,
7874 bytesPruébalo en línea! El enlace es a la versión detallada del código. Editar: ahorró 2 bytes al simplificar la forma en que se imprime el cableado. Se guardaron 2 bytes porque el nuevo código convierte automáticamente la entrada a entero. Explicación:
Imprima el cableado tomando la cuerda
.--.__
, moldeándola a la longitud 9, luego repítala una vez para cada unión, terminando con una final.
antes de pasar al inicio de la siguiente línea para las bombillas.Pase sobre una cadena de conectores:
(
y)
en los extremos, yY
s en el medio.Mueve a la derecha un personaje si esta es la última bombilla.
Imprime el cuerpo de la bombilla sin mover el cursor.
Imprima la tapa de la bombilla, incluido el conector.
Muévase al comienzo de la próxima bombilla (un carácter adicional si esta es la primera bombilla).
fuente
Excel VBA,
224207205 BytesFunción de ventana inmediata anónima de VBE que toma la entrada del rango
[A1]
y las salidas a la ventana inmediata de VBE.Imprime las bombillas línea por línea, de arriba a la izquierda a la derecha
Muestra de E / S
-17 Bytes gracias a @ YowE3k
-2 bytes para la adición de variable temporal
b
fuente
: [Rept(B1,A1-2)]
Justo antes del inicio del ciclo no se usa.C,
279278272262259 bytes¡Gracias a @NieDzejkob por guardar seis bytes!
Pruébalo en línea!
Desenrollado:
fuente
PHP,
276,307,303,301,293,283,280, 278 bytesVersión legible para prueba:
Verifique la versión minificada aquí
Verifique la versión legible aquí
ACTUALIZAR
Envuelto en una función,
fuente
\
antes del dígito separador, por lo que solo ahorrará 1 carácter. Puede guardar otros 2 caracteres haciendo que la parte de caracteres de espacio en la misma cadena más grande, que contiene la expresión en el medio como la expansión:$a[]=$r($b)." {$r($b,$n)} ".$r($b);
.9
como delimitador no es necesario escapar, probablemente esto funcione con otros números simplemente no0
$r()
función lambda como regularfunction r()
(podría estar en el mismo lugar, es posible la función en función). Es necesario corregir el análisis de cadenas:" {r("")} "
no funcionará. Otro -7 bytes;)Java,
310307300275 bytesGracias a DevelopingDeveloper por convertirlo a una expresión lambda
Expandido:
Al buscar formas más cortas de multiplicar cadenas, descubrimos que las transmisiones son sorprendentemente más detalladas
Pruébalo en línea!
fuente
String o="";
+o+=" .";
=String o=" .";
j=#
fuera de los bucles forLimpias ,
305292288275 bytesPruébalo en línea!
fuente
Python 2 (PyPy) ,
365316315251245 bytes-21 gracias a FlipTack
-43 gracias a los ovs
-6 gracias al Sr. Xcoder
Pruébalo en línea!
fuente
Kotlin , 261 bytes
Embellecido
Prueba
TIO
TryItOnline
fuente
Hojas de cálculo de Google, 190 bytes
Función de hoja de trabajo anónima que toma entrada del rango
A1
y salidas a la celda que llamafuente