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>
Antworten:
Holzkohle , 23 Bytes
Probieren Sie es online! Erläuterung: Druckt die Zeilen in der folgenden Reihenfolge und spiegelt dann alles horizontal wider:
quelle
‖B
steht für "Reflect Butterfly"JavaScript (ES6),
144143140138134 BytesEine rekursive Funktion, die die Ausgabe zeichenweise mit einem rein bedingten Ausdruck zeichnet.
Wie?
Für jede Position 0 <p ≤ 363 definieren wir:
Nachfolgend finden Sie eine Aufschlüsselung der Formel, aus der das entsprechende Zeichen ausgewählt wird
[ '\', '/', ' ', '_', '\n' ]
.Im Folgenden sind die verschiedenen Teile des oben definierten Koordinatensystems aufgeführt:
Demo
Code-Snippet anzeigen
quelle
05AB1E , 50 Bytes
Probieren Sie es online!
Die Kompression:
Die Strategie bestand hier darin, das halbe Objekt zu bauen und dann das Bild über die halbe Markierung zu spiegeln. Dazu habe ich zuerst die linke Hälfte mit vorderer Polsterung gebaut:
Aber keine richtige Auffüllung, da mit der
.B
Funktion in 05AB1E jedes Element mit Leerzeichen gleich lang gemacht werden kann. Dadurch kann ich die überflüssigen Leerzeichen nach rechts weglassen und nur durch Zeilenumbrüche abgrenzen. Dann nahm ich dieses Muster und entfernte alle Zeilenumbrüche, die sie ersetzten4
, um Folgendes zu erhalten:Wenn Sie dies mit base-255 komprimieren, erhalten Sie:
Wobei die beiden
•
eine Base-255-komprimierte Zeichenfolge bezeichnen und 5B sie in Base-5 konvertiert.Der zweite Teil nach dem Komprimieren:
quelle
è
natürlich!V , 61 Bytes
Probieren Sie es online!
Hexdump:
quelle
Python 2 ,
226213 Bytes179 BytesMein erstes Golf!
Probieren Sie es online!
Ich habe versucht, die Bits zu schleifen, auf denen ich ein Muster finden konnte, und den Rest hartcodiert. Durch das Setzen der verschiedenen Zeichen auf eine Variable konnten viele Bytes gespart werden.
Bearbeiten: Beschlossen, an dasselbe Array anzuhängen, anstatt sich mehrmals anzuschließen. 13 Bytes gespeichert.
Bearbeiten 2: Dank @ValueInk, @jacoblaw, @WheatWizard, @CalculatorFeline und @ Challenger5 konnten 34 Byte eingespart werden
quelle
b,f,s,u='\/ _';o,a='/ /','\ \\'
Spart 11 Bytes gegenüber Ihrer aktuellen Variableninitialisierung! Siehe hiero
unda
werden im Code nur einmal verwendet. Hier ist es mit ihnen inliniert.0,1,2,3
anstelle vonrange(4)
ein Byte speichern.J , 155 Bytes
Probieren Sie es online!
Dies ist eine Funktion, die keine Eingabe erwartet. ZB
f =: <code>
dannf ''
.Erläuterung
Ich habe dies mit den folgenden Schritten codiert. Angenommen, die gewünschte Komprimierungszeichenfolge ist in der Variablen enthalten
h
.Dann müssen wir das nur noch entschlüsseln.
5#.inv 95x#.32-~3 u:
führt das Gegenteil von dem aus, was ich gerade beschrieben habe, und gibt uns die Liste der Indizes. Dann('_ /\',LF){~
wendet die entsprechenden Zeichen , die jeden Index.quelle
Mathematica, 227 Bytes
quelle
Charcoal ,
47 4341 BytesProbieren Sie es online!
Ich wusste bis jetzt nichts über Charcoal. Ich hatte das Gefühl, "Ich habe keine Ahnung, was ich tue", als ich versuchte, diese Antwort herauszufinden ... Ich bin mir ziemlich sicher, dass man hier viel Golf spielen kann.
Aktualisierung:
quelle
‖B
aber ich konnte nicht herausfinden, wie ... schöne Antwort!Ruby, 117 Bytes
quelle
Retina ,
129114102 BytesDanke an ovs für -12 Bytes!
Probieren Sie es online!
quelle
05AB1E ,
928680 BytesProbieren Sie es online!
Erklärung in Teilen
Die Bar oben
Die Linie direkt unter der Bar
Der Rest des oberen Teils des Sechsecks
Der Rest mit Ausnahme der letzten 2 Zeilen
Die vorletzte Zeile
Die letzte Zeile
Das
»
am Ende verbindet alles auf Newlines.quelle
{_
wird{_{
, wo mit Spiegel wird es{_}
. Palendromize istû
, während Spiegel ist∞
. Es gibt auch einen gekreuzten Spiegel, der ist.∞
.C #
210199 BytesKodiert die Länge der Leerzeichen- und Unterstrichläufe:
Ungolfed:
Probieren Sie es online!
quelle
Retina , 129 Bytes
Probieren Sie es online! Völlig andere Herangehensweise, aber zufällig gleich lang!
quelle
/// 152 Bytes
Probieren Sie es online!
quelle
MATL ,
5855 BytesProbieren Sie es online!
quelle
Pyth , 111 Bytes
Dieser Code druckt im Grunde die Zeilen nacheinander (auf naive Weise). Ja, es ist scheiße, aber im Moment geht es mir nicht besser, und ich wollte HyperNeutrino auch noch Tribut zollen .
Probieren Sie es online!
quelle
PHP , 122 Bytes
Probieren Sie es online!
PHP , 158 Bytes
Probieren Sie es online!
PHP , 165 Bytes
Probieren Sie es online!
quelle
SOGL V0.12 ,
5352 BytesProbieren Sie es hier aus!
quelle
Python 2 , 187 Bytes
Probieren Sie es online!
quelle
C # (.NET Core) , 169 Byte
Ungolfed:
Für jeden Strich habe ich die Startposition, die Länge, das verwendete Zeichen und die Richtung in verschiedenen Strings codiert. Ich habe ein paar Bytes gespart, indem ich ähnliche Striche gruppiert habe.
Leider druckt dies ein wenig komisch in tio. Das liegt daran, dass ich keine echten Räume drucke. Sieht aber in meiner Konsole gut aus. Wahrscheinlich zählt diese Einsendung nicht. Hier ist sowieso der Link.
Probieren Sie es online! (gefälschte Leerzeichen 169 Bytes)
Probieren Sie es online! (reale Räume 191 Bytes)
quelle
Python 2 ,
154138 BytesProbieren Sie es online!
quelle
Pinsel , 43 Bytes, nicht konkurrierend
Erläuterung
Beta-Tests in der realen Welt:
Muss eine Menge Verbesserungen machen, nicht wahr? : P
quelle
Bubblegum ,
6754 BytesProbieren Sie es online!
quelle
C (gcc) , 200 Bytes
Probieren Sie es online!
quelle