var QUESTION_ID=128104,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/128104/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Respuestas:
Carbón , 23 bytes
Pruébalo en línea! Explicación: Imprime las líneas en el siguiente orden, luego refleja todo horizontalmente:
fuente
‖B
significa "Reflect Butterfly"JavaScript (ES6),
144143140138134 bytesUna función recursiva que dibuja el carácter de salida por carácter con una expresión puramente condicional.
¿Cómo?
Para cada posición 0 <p ≤ 363 , definimos:
A continuación se muestra un desglose de la fórmula que selecciona el personaje apropiado
[ '\', '/', ' ', '_', '\n' ]
.Y debajo están las diferentes partes en el sistema de coordenadas definido anteriormente:
Manifestación
Mostrar fragmento de código
fuente
05AB1E , 50 bytes
Pruébalo en línea!
La compresión:
La estrategia aquí era construir la mitad del objeto, luego reflejar la imagen en la mitad de la marca. Para hacer esto, primero construí la mitad izquierda, con acolchado frontal:
Pero no hay relleno correcto, esto se debe a que la
.B
función en 05AB1E se puede usar para hacer que cada elemento tenga la misma longitud usando espacios. Esto me permite omitir los espacios extraños a la derecha y simplemente delimitarlos con nuevas líneas. Luego, tomé este patrón y eliminé todas las líneas nuevas reemplazándolas por4
para obtener:Comprimir esto con base-255 da como resultado:
Donde los dos
•
denotan una cadena comprimida base-255 y 5B la convierte en base-5.La segunda parte, después de la compresión:
fuente
è
, por supuesto!V , 61 bytes
Pruébalo en línea!
Hexdump:
fuente
Python 2 ,
226213 bytes179 bytesMi primer golf!
Pruébalo en línea!
Intenté hacer un bucle de los bits en los que pude encontrar un patrón y codifiqué el resto. Establecer los diferentes caracteres en una variable ayudó a ahorrar una gran cantidad de bytes.
Editar: decidió agregar a la misma matriz en lugar de unirse varias veces. Guardado 13 bytes.
Edición 2: Gracias a @ValueInk, @jacoblaw, @WheatWizard, @CalculatorFeline y @ Challenger5, guardaron 34 bytes
fuente
b,f,s,u='\/ _';o,a='/ /','\ \\'
ahorra 11 bytes sobre su inicialización de variable actual! Ver aquío
ya
solo se usan una vez en el código. Aquí está con ellos en línea.0,1,2,3
lugar derange(4)
guardar un byte.J , 155 bytes
Pruébalo en línea!
Esta es una función que no espera entrada. Por ejemplo,
f =: <code>
entoncesf ''
.Explicación
Codifiqué esto usando los siguientes pasos. Suponga que la cadena de compresión deseada está contenida en la variable
h
.Entonces, solo necesitamos decodificar esto.
5#.inv 95x#.32-~3 u:
realiza el inverso de lo que acabo de describir, dándonos la lista de índices. Luego,('_ /\',LF){~
aplica los caracteres apropiados a cada índice.fuente
Mathematica, 227 bytes
fuente
Carbón ,
47 4341 bytesPruébalo en línea!
No sabía nada sobre el carbón hasta ahora, me sentí como "No tengo idea de lo que estoy haciendo" mientras trataba de encontrar esta respuesta ... Estoy bastante seguro de que esto se puede jugar mucho.
Actualizaciones:
fuente
‖B
pero no pude entender cómo ... ¡buena respuesta!Ruby, 117 bytes
fuente
Retina ,
129114102 bytes¡Gracias a los ovs por -12 bytes!
Pruébalo en línea!
fuente
05AB1E ,
928680 bytesPruébalo en línea!
Explicación en partes
El bar en la cima
La línea inmediatamente debajo de la barra.
El resto de la parte superior del hexágono.
El resto, excepto las 2 últimas líneas.
La penúltima línea
La ultima linea
Al
»
final se une todo en las nuevas líneas.fuente
{_
convierte{_{
, donde con espejo se convierte{_}
. Palendromize esû
, mientras que el espejo es∞
. También hay un espejo intersectado, que es.∞
.C #,
210199 bytesCodifica la longitud de las ejecuciones de espacio y subrayado:
Sin golf:
¡Pruébelo en línea!
fuente
Retina , 129 bytes
Pruébalo en línea! Enfoque completamente diferente, pero casualmente, ¡la misma longitud!
fuente
/// , 152 bytes
Pruébalo en línea!
fuente
MATL ,
5855 bytesPruébalo en línea!
fuente
Pyth , 111 bytes
Este código básicamente imprime las líneas una tras otra (en la forma ingenua de hacerlo). Sí, apesta, pero en este momento no estoy en mejor estado, y yo también quería rendir homenaje a HyperNeutrino .
Pruébalo en línea!
fuente
PHP , 122 bytes
Pruébalo en línea!
PHP , 158 bytes
Pruébalo en línea!
PHP , 165 bytes
Pruébalo en línea!
fuente
SOGL V0.12 ,
5352 bytesPruébalo aquí!
fuente
Python 2 , 187 bytes
Pruébalo en línea!
fuente
C # (.NET Core) , 169 bytes
Sin golf:
Para cada golpe codifiqué la posición de inicio, la longitud, el carácter utilizado y la dirección dentro de varias cadenas. Ahorré algunos bytes al agrupar trazos similares.
Lamentablemente, esto imprime un poco raro en tio. Esto se debe a que no estoy imprimiendo espacios reales. Sin embargo, se ve bien en mi consola. Entonces, probablemente, esta presentación no cuenta. Aquí está el enlace de todos modos.
Pruébalo en línea! (espacios falsos 169 bytes)
Pruébalo en línea! (espacios reales 191 bytes)
fuente
Python 2 ,
154138 bytesPruébalo en línea!
fuente
Pincel , 43 bytes, no competidor
Explicación
Pruebas beta en el mundo real:
Tengo que hacer muchas mejoras, ¿eh? :PAGS
fuente
Chicle ,
6754 bytesPruébalo en línea!
fuente
C (gcc) , 200 bytes
Pruébalo en línea!
fuente