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>
Jawaban:
Arang , 23 byte
Cobalah online! Penjelasan: Mencetak garis dalam urutan berikut, lalu mencerminkan semuanya secara horizontal:
sumber
‖B
singkatan dari "Reflect Butterfly"JavaScript (ES6),
144143140138134 byteFungsi rekursif menggambar karakter keluaran dengan karakter dengan ekspresi kondisional murni.
Bagaimana?
Untuk setiap posisi 0 <p ≤ 363 , kami mendefinisikan:
Di bawah ini adalah rincian rumus yang mengambil karakter yang sesuai dari
[ '\', '/', ' ', '_', '\n' ]
.Dan di bawah ini adalah bagian-bagian berbeda dalam sistem koordinat yang didefinisikan di atas:
Demo
Tampilkan cuplikan kode
sumber
05AB1E , 50 byte
Cobalah online!
Kompresi:
Strategi di sini adalah membangun separuh objek, lalu merefleksikan gambar melintasi tanda setengah. Untuk melakukan ini, saya pertama kali membangun setengah kiri, dengan bantalan depan:
Tapi tidak ada padding yang tepat, ini karena
.B
fungsi pada 05AB1E dapat digunakan untuk membuat setiap elemen sama panjangnya menggunakan spasi. Ini memungkinkan saya untuk menghilangkan ruang asing ke kanan dan hanya membatasi oleh baris baru. Saya kemudian, mengambil pola ini, dan menghapus semua baris baru untuk menggantikannya dengan4
:Kompres ini dengan base-255 menghasilkan:
Di mana keduanya
•
menunjukkan basis-255 string terkompresi dan 5B mengubahnya menjadi basis-5.Bagian kedua, setelah dikompresi:
sumber
è
, tentu saja!V , 61 byte
Cobalah online!
Hexdump:
sumber
Python 2 ,
226213 byte179 byteGolf pertamaku!
Cobalah online!
Saya mencoba mengaitkan bit yang saya dapat menemukan pola, dan hardcode sisanya. Menyetel karakter yang berbeda ke variabel membantu menghemat banyak byte.
Sunting: Memutuskan untuk menambahkan ke array yang sama alih-alih bergabung beberapa kali. Disimpan 13 byte.
Sunting 2: Terima kasih kepada @ValueInk, @jacoblaw, @WheatWizard, @CalculatorFeline, dan @ Challenger5, menghemat 34 byte
sumber
b,f,s,u='\/ _';o,a='/ /','\ \\'
menghemat 11 byte dari inisialisasi variabel Anda saat ini! Lihat di sinio
dana
hanya digunakan satu kali dalam kode. Ini dia bersama mereka.0,1,2,3
alih-alihrange(4)
menyimpan byte.J , 155 byte
Cobalah online!
Ini adalah fungsi yang tidak mengharapkan input. Misalnya,
f =: <code>
laluf ''
.Penjelasan
Saya menyandikan ini menggunakan langkah-langkah berikut. Asumsikan bahwa string kompresi yang diinginkan terkandung dalam variabel
h
.Kemudian, kita hanya perlu memecahkan kode ini.
5#.inv 95x#.32-~3 u:
melakukan kebalikan dari apa yang baru saja saya jelaskan, memberi kami daftar indeks. Kemudian,('_ /\',LF){~
terapkan karakter yang sesuai untuk setiap indeks.sumber
Mathematica, 227 byte
sumber
Arang ,
47 4341 byteCobalah online!
Saya tidak tahu apa-apa tentang Charcoal sampai sekarang, saya merasa seperti "Saya tidak tahu apa yang saya lakukan" ketika mencoba mencari tahu jawaban ini ... Saya cukup yakin ini bisa banyak bermain golf.
Pembaruan:
sumber
‖B
tetapi saya tidak tahu bagaimana ... jawaban yang bagus!Ruby, 117 byte
sumber
Retina ,
129114102 byteBerkat ovs untuk -12 byte!
Cobalah online!
sumber
05AB1E ,
928680 byteCobalah online!
Penjelasan dalam bagian-bagian
Bilah di bagian atas
Garis tepat di bawah bilah
Sisa dari bagian atas segi enam
Sisanya kecuali untuk 2 baris terakhir
Baris kedua hingga terakhir
Baris terakhir
Yang
»
pada akhirnya bergabung semuanya di baris baru.sumber
{_
menjadi{_{
, di mana dengan mirror itu menjadi{_}
. Palendromize adalahû
, sedangkan cermin∞
. Ada juga cermin berpotongan, yaitu.∞
.C #,
210199 byteMengkodekan panjang lari ruang dan garis bawah:
Tidak Disatukan:
Cobalah secara Online!
sumber
Retina , 129 byte
Cobalah online!Pendekatan yang sama sekali berbeda, namun secara kebetulan memiliki panjang yang sama!
sumber
/// , 152 byte
Cobalah online!
sumber
MATL ,
5855 byteCobalah online!
sumber
Pyth , 111 byte
Kode ini pada dasarnya mencetak baris satu demi satu (dengan cara naif melakukannya). Ya itu menyebalkan, tetapi saat ini saya tidak dalam keadaan melakukan yang lebih baik, dan saya juga masih ingin membayar upeti kepada HyperNeutrino .
Cobalah online!
sumber
PHP , 122 byte
Cobalah online!
PHP , 158 byte
Cobalah online!
PHP , 165 byte
Cobalah online!
sumber
SOGL V0.12 ,
5352 byteCoba Di Sini!
sumber
Python 2 , 187 byte
Cobalah online!
sumber
C # (.NET Core) , 169 byte
Tidak Disatukan:
Untuk setiap goresan saya mengkodekan posisi awal, panjang, karakter yang digunakan, dan arah dalam berbagai string. Saya menyimpan beberapa byte dengan mengelompokkan stroke yang sama.
Sayangnya, ini sedikit aneh di tio. Ini karena saya tidak mencetak ruang nyata. Terlihat bagus di konsol saya. Jadi mungkin pengiriman ini tidak masuk hitungan. Inilah tautannya.
Cobalah online! (ruang palsu 169 byte)
Cobalah online! (ruang nyata 191 byte)
sumber
Python 2 ,
154138 byteCobalah online!
sumber
Kuas , 43 byte, tidak bersaing
Penjelasan
Pengujian Beta di Dunia Nyata:
Harus melakukan banyak perbaikan, ya. : P
sumber
Bubblegum ,
6754 byteCobalah online!
sumber
C (gcc) , 200 byte
Cobalah online!
sumber