Problema
Sin entrada, escriba un programa o una función que genere o devuelva la siguiente cadena:
(<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>)
Reglas
- El programa más corto gana.
- Espacio en blanco al final permitido.
- Nuevas líneas finales permitidas.
- Parámetros no utilizados para funciones permitidas.
code-golf
ascii-art
kolmogorov-complexity
LiefdeWen
fuente
fuente
(<>.<>)
:"(<" + "(<>" + "(<>." + ... + "(<>.<>)" + "<>.<>)" + ">.<>)" + ... + ">)"
Respuestas:
SOGL V0.12 , 12 bytes
Explicación:
Pruébalo aquí!
fuente
05AB1E , 16 bytes
Pruébalo en línea!
Explicación
fuente
Python 3 , 49 bytes
Pruébalo en línea!
fuente
JS (Jsfuck), 10,614 bytes
No tenía acceso al sitio web, tuve que resolver todo esto manualmente.
Explicación:
La mayoría de los caracteres son relativamente fáciles: para los corchetes que estoy ejecutando
El punto final se obtiene haciendo que js cree un número de notación científica como 1.1e + 21 Y tomando el carácter de punto después de convertirlo en una cadena
Los corchetes son más difíciles, tenemos que ejecutar la función para crear una cadena de objetos html en cursiva y robar los corchetes angulares. El truco principal en esto es obtener la 'c' para la palabra cursiva, que requiere construir otra función para tomar la c de 'función'
Aquí hay muchas posibilidades de mejora, principalmente en qué funciones se utilizan para obtener los corchetes. También recuerdo una forma más fácil de obtener el carácter 'c' si la cursiva es mejor, pero tendría que revisar mis archivos antiguos para encontrarlo
fuente
C # (Mono) ,
5452 bytesPruébalo en línea!
-2 bytes gracias a Kevin Cruijssen
RIP C #
fuente
;
no se cuenta para las respuestas lambda. Y()
se puede reemplazar con un solo carácter (null
objeto no utilizado ). Meta publicación relevante para el segundo.s=>
está perfectamente bien.Retina , 30 bytes
Pruébalo en línea!
fuente
V ,
28272522 bytes3? 4? bytes gracias a @KritixiLithos
Pruébalo en línea!
fuente
hx
con soloX
.dkHxògJ
es 1 byte más corto quedkVHgJ0x
.Íî
que trabaja demasiadoi(<>.<>)òÙxlHÄ$xGòddÍî
por 23lX
porxl
también: DR , 42 bytes
Programa bastante simple que aprovecha la forma en que funciona la subcadena en R. Entonces
substring('(<>.<>)',-4:6,2:12)
produce el siguiente vectorcat
con un separador vacío lo envía a STDOUT en el formato requerido.Pruébalo en línea!
fuente
Carbón,
1817 bytesPruébalo en línea! El enlace es a la versión detallada del código.
Utiliza el nuevo operador de Slice.fuente
TrumpScript, 70 bytes
Lo sé, es una solución aburrida.
fuente
Brachylog , 14 bytes
Pruébalo en línea!
fuente
ᶠ
aᵘ
.C (gcc) ,
5957 bytes24 bytes menos que unaputs()
solución simple . Seguramente habrá una solución recursiva elegante, pero hasta ahora la sobrecarga se vuelve demasiado grande en cada intento.Pruébalo en línea!
fuente
Brainfuck,
198175167 BytesNunca he hecho un codegolf, así que este es el primero. La retroalimentación es muy apreciada.
Pruébalo en línea!
Fui por la solución más obvia en mi opinión. Primero, configuro las celdas 1-5 a una de las letras "(). <>". Luego solo voy a las celdas correctas y saco el personaje.
ACTUALIZACIÓN: Cambié el orden en que aparecen los caracteres en la "cinta" haciendo que el programa sea más corto y eficiente.
ACTUALIZACIÓN 2: solo volví a visitar mi publicación después de un tiempo y me di cuenta de que, usando una secuencia más corta para configurar las celdas, podía guardar algunos bytes.
fuente
JavaScript, 47 bytes
Utiliza el mismo método que la respuesta Python de Rod .
fuente
Mathematica 41 bytes
fuente
Carbón de leña , 20 bytes
Pruébalo en línea!
Gracias a Destructible Lemon por notar un patrón (-4).
AST:
Lo que
‖B
hace es básicamente palindromizar visualmente el lienzo.fuente
-a
.Print
s allí, no estoy seguro de lo que quieres decir.C (gcc) , 61 bytes
Sé que esto es lamentable, pero es mucho más corto que mi otra solución ...
C (gcc) , 103 bytes
Aquí hay una versión en la que trato de ser un poco complicado ...
C (gcc) ,
117bytesUna versión recursiva que es completamente complicada ...
Pruébalo en línea!
fuente
Una multitud de miradas en blanco observando a Batman en honor a Adam West ...
C # (.NET Core) , 393 bytes
Pruébalo en línea!
fuente
q , 29 bytes
raze"(<>.<>)"{(y-5)_x}/:(!)11
-2 bytes gracias a streetster
EDITAR para la explicación:
El lenguaje se interpreta de derecha a izquierda.
Cómo funciona
fuente
_x
de 1 byte, y el cambiotil 11
a(!)11
por otros 1 byte = ahorro de 2 bytes salvado :)Haskell ,
5545 bytesPruébalo en línea!
¡La primera respuesta de Haskell para superar la solución codificada!
Explicación
La forma en que funciona esta respuesta es creando una lista de funciones que se aplicarán a la cadena
(<>.<>)
. Primero construimos la izquierda y el centro conlo que nos da todos los prefijos del tamaño dos al siete. Luego construimos el derecho con
lo que nos da todos los sufijos del tamaño seis al dos.
Una vez que tenemos la lista de funciones, usamos un enlace monádico (
>>=
) que es soloconcatMap
pero más corto. La función con la que concatmap es la($"(<>.<>)")
que aplica la entrada a la cadena(<>.<>)
.Esto hace que la cadena.
fuente
Jalea , 22 bytes
1 byte gracias a Kritixi Lithos.
Pruébalo en línea!
fuente
µ
Java 8, 52 bytes
Aburrido, pero no hay ninguna forma de acortar esto en Java ... Solo inicializar una cadena temporal ya tiene 11 bytes ... (
String t="something";
), y usarsubstring
un par de veces ciertamente cuesta demasiados bytes ...La alternativa más corta a un retorno literal es probablemente esto (58 bytes):
Pruébalo aquí
fuente
=>
) si desea agregarlo.Python 2, 57 bytes
Digo que parece una pandilla de búhos asomándose detrás de su líder. Solo digo.
fuente
MATL , 28 bytes
Pruébalo en línea!
fuente
cerebro ,
245210 bytesGolf en progreso.
Pruébalo en línea!
fuente
Haskell, 95 bytes
Esto es mucho más largo que los 49 bytes necesarios para un literal de cadena con la salida, pero lo mejor que puedo hacer para utilizar la estructura . Como de costumbre, me encantan las flechas, y
inits &&& tails
produce una tupla de la lista de subcadenas iniciales y la lista de subcadenas finales de la entrada. Luego, esos dos elementos de tupla se unen en una lista pasando la tupla a++
, y esa lista seconcat
envasa en una cadena grande. Las llamadastail
yinit
evitan duplicar el(<>.<>)
en el medio (uno generado porinits
, el otro portails
) y descartar el paréntesis no deseado desde el principio y el final, teniendo en cuenta solo las subcadenas de longitud 2 o más.fuente
Jalea , 18 bytes
Pruébalo en línea!
Cómo funciona
fuente
C (clang) ,
6261 bytesEsto termina solo después de que se agota el tiempo de espera en TIO porque la escritura en la entrada estándar falla, pero lo hará terminan en un terminal. El programa se basa en un orden específico de evaluación (comportamiento indefinido) y no funciona con, por ejemplo, gcc.
¡Gracias a @Steadybox por una idea que salvó un byte!
Pruébalo en línea!
Verificación
Versión alternativa, 62 bytes.
A costa de un byte más, la solución se vuelve mucho más portátil.
Pruébalo en línea!
fuente
(<
falta el allí.Python 2 , 55 bytes
no pude resistir superar la respuesta actual de python 2
Pruébalo en línea!
fuente
Jalea , 19 bytes
Pruébalo en línea!
fuente