var QUESTION_ID=142243,OVERRIDE_USER=8478;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/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){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-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:
Jelly ,
18 17 1514 byteTautan monadik yang mengambil nomor dan mengembalikan karakter.
Cobalah online! atau lihat semua pasangan input-output .
Bagaimana?
sumber
Javascript (ES6), 51 byte
Solusi alternatif (lebih lama):
5352 byte (-1 byte terima kasih kepada @Arnauld)5553 byte (-2 byte terima kasih kepada @Neil)55 byte
Cuplikan kode contoh:
sumber
n=>"AFEDCB"[[14,171,181,295,301].findIndex(m=>n<m)+1]
n=>'FEDCBA'[n>300?5:n>294?4:n>180?3:n>170?2:+(n>13)]
TI-Basic, 40 byte
sumber
J , 31 byte
Cobalah online!
Penjelasan
sumber
I.
di alam liar. Rapi.Python 3 , 50 byte
Berkat @ jferard untuk -4 byte.
Cobalah online!
Python 3 , 54 byte
Cobalah online!
Disimpan 2 byte berkat @mathmandan, dan secara tidak langsung berkat @JonathanFrech.
Python 2 , 56 byte
Cobalah online!
sumber
lambda n:chr(70-sum(n>x for x in[13,170,180,294,300]))
. (Lihat jawaban oleh @Jonathan Frech di codegolf.stackexchange.com/a/142244/36885 )->n{(70-"ĬĦ´ª\r".chars.count{|i|n>i.ord}).chr}
ukuran yang samaC,
6261 byteTerima kasih kepada @Jonathan Frech karena telah menghemat satu byte!
Cobalah online!
C, 57 byte
Cobalah online!
C (gcc), 54 byte
Cobalah online!
C (gcc), 50 byte
Menggunakan solusi @Herman Lauenstein .
Cobalah online!
sumber
Kotlin , 56 byte
Cobalah online!
Yg diperindahkan
Uji
sumber
Japt ,
2321 byteCobalah
Penjelasan
Input bilangan bulat implisit
U
.Kurangi dari codepoint dari string (karakter tunggal)
G
...Hitungan elemen kurang dari
U
...Dalam array 170 (
#ª
), 0 (T
), 180 (#´
), 13 (D
), 294 (literal) & 300 (L*3
), diformat dan dipesan untuk menghindari penggunaan tanda pembatas koma.0
dapat dihapus (dikurangi dari codepointF
sebagai gantinya) tetapi kemudian koma perlu ditambahkan atauC*F
(12 * 15) digunakan untuk180
, akhirnya tidak menyimpan byte.sumber
R ,
5044 byteCobalah online!
sama dengan jawaban javascript, tetapi menggunakan vektorisasi R dan SURAT builtin untuk datang sedikit lebih pendek.
Terima kasih kepada rturnbull untuk mencukur 6 byte terakhir.
sumber
cat
atau menggunakansource(program,ec=T)
dan menghitungec=T
sebagai bendera (sesuai konsensus meta pada program R), tetapi dengan konsensus meta baru kami tidak menghitung bendera apa pun lebih lama, jadi saya itu solusi yang sangat validPython 2 , 77 byte
Cobalah online!
sumber
Recursiva ,
4930 byteCobalah online!
Izinkan saya untuk menjawab pertanyaan saya sendiri dalam bahasa saya sendiri. : D
Penjelasan:
sumber
Perl 5 , 47 + 1 (-p) = 48 byte
Cobalah online!
sumber
Pyke , 28 byte
Coba di sini!
Penjelasan
sumber
Jelly , 19 byte
Cobalah online!
Footer mengeksekusi semua test case dan memformat output.
sumber
Pyth, 30 byte
Situs ini tampaknya tidak menunjukkan karakter dengan titik kode 1, sehingga Anda perlu untuk memasukkan karakter dengan titik kode 1 sebelum
&
,,
danm
pada akhirnya(Ganti semua
1
dengan karakter dengan kode 1):sumber
Pyth , 25
26byteVerifikasi semua kasus uji.
Penjelasan
sumber
Ly , 74 byte
Cobalah online!
Pendekatan if-chain yang sederhana. Saya ragu itu bisa dibuat lebih pendek.
sumber
(...)
diperlukan? PS nvm, Ternyata mereka.Bash , 55 byte
Cobalah secara online atau Verifikasi kasus uji .
sumber
Java 8, 55 byte
Coba di sini.
Alternatif 57 byte :
Coba di sini.
Alternatif 60 byte :
Coba di sini.
Mungkin beberapa jenis rumus dapat ditemukan untuk mendapatkan 0-5 dengan cara yang lebih pendek daripada
n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5
menggunakan pendekatan terakhir. Masih menyelidiki ini.sumber
PowerShell , 59 byte
Cobalah online!
Mirip dengan jawaban Jelly Allen Jonathan, dalam hal ini kami sedang membangun sebuah array dari semua huruf yang disatukan, kemudian mengindeks ke dalam array itu dengan input
$args
.sumber
Kelinci ~ , 50 byte
(Tidak berkompetisi, pertanyaan postdates. Saya baru saja menyelesaikan penerjemah (yay) dan ingin mencoba memecahkan sesuatu. Ini juga kode golf pertama saya)
Ini pada dasarnya membawa perbedaan dari satu kelas ke 14.157.10.10.114.6.65 berikutnya (dikodekan sebagai
ỤṅỌrḲA
) dan mengurangi dari input. Jika angka negatif ditemukan, ia berhenti bergerak di sepanjang urutan 'FEDCBA' dan mengeluarkan surat itu.Penjelasan kecil tentang sintaks yang indah ini
Kelinci ~ menggunakan memori berbasis grid dengan satu atau beberapa caret yang dapat Anda pindahkan; solusi ini menggunakan 2.
sumber
Excel, 53 byte
Jumlah kondisi, lalu mengembalikan karakter ASCII yang diperlukan:
Solusi alternatif:
Kondisi penjumlahan, kembalikan indeks string (63 byte):
sumber
K (oK) , 30 byte
Larutan:
Cobalah online!
Penjelasan:
Indeks ke dalam ember yang benar:
sumber
Jotlin ,
4841 byteSeluruh program:
Mengaitkan jawaban Kotlin saya sebelumnya di sini .
sumber
V ,
3734 byteCobalah online!
Hexdump:
Ide dasar:
FEDCBA
, buat 5 salinan B, 113 salinan C, dll. Yang menghasilkan stringFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBA
(Mungkin ada cara yang lebih efisien untuk melakukan ini)n
kolom th (n
adalah argumen pertama), salin satu karakter dan ganti seluruh string dengan itu.sumber
05AB1E , 19 byte
Cobalah online!
sumber
Perl 6,
4239 bytesumber
Stax , 18 byte
Jalankan dan debug online!
Penjelasan
Byte dihitung dalam CP437.
sumber
C #, 110 byte
Cobalah online
sumber
?:
sebagaix<14?"F":x<170?"E":x<180?"D":x<294?"C":x<300?"B":"A"