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>
+
/ hat-
.Antworten:
Jelly ,
18 17 1514 BytesEine monadische Verknüpfung, die eine Zahl aufnimmt und ein Zeichen zurückgibt.
Probieren Sie es online! oder sehen Sie alle Eingabe-Ausgabe-Paare .
Wie?
quelle
Javascript (ES6), 51 Byte
Alternativlösungen (länger):
5352 bytes (-1 byte dank @Arnauld)5553 Bytes (-2 Bytes dank @Neil)55 Bytes
Beispielcode-Snippet:
quelle
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 Bytes
quelle
J , 31 Bytes
Probieren Sie es online!
Erläuterung
quelle
I.
in freier Wildbahn gesehen. Ordentlich.Python 3 , 50 Bytes
Vielen Dank an @jferard für -4 Bytes.
Probieren Sie es online!
Python 3 , 54 Bytes
Probieren Sie es online!
2 Bytes dank @mathmandan und indirekt dank @JonathanFrech eingespart.
Python 2 , 56 Bytes
Probieren Sie es online!
quelle
lambda n:chr(70-sum(n>x for x in[13,170,180,294,300]))
. (Siehe Antwort von Jonathan Frech unter codegolf.stackexchange.com/a/142244/36885 )->n{(70-"ĬĦ´ª\r".chars.count{|i|n>i.ord}).chr}
gleiche GrößeC
6261 BytesVielen Dank an Jonathan Frech für das Speichern eines Bytes!
Probieren Sie es online!
C 57 Bytes
Probieren Sie es online!
C (gcc), 54 Bytes
Probieren Sie es online!
C (gcc), 50 Bytes
Mit der Lösung von @Herman Lauenstein .
Probieren Sie es online!
quelle
Kotlin , 56 Bytes
Probieren Sie es online!
Verschönert
Prüfung
quelle
Japt ,
2321 BytesVersuch es
Erklärung
Implizite Eingabe einer Ganzzahl
U
.Von den Codepunkten der (Einzelzeichen-) Zeichenfolge subtrahieren
G
...Die Anzahl der Elemente weniger als
U
...In dem Array von 170 (
#ª
), 0 (T
), 180 (#´
), 13 (D
), 294 (wörtlich) und 300 (L*3
), formatiert und geordnet, um die Verwendung von Trennkommas zu vermeiden.0
könnte entfernt werden (F
stattdessen vom Codepunkt subtrahieren ), aber dann müsste ein Komma hinzugefügt oderC*F
(12 * 15) verwendet werden180
, um letztendlich keine Bytes zu sparen.quelle
R ,
5044 BytesProbieren Sie es online!
Entspricht der JavaScript-Antwort, verwendet jedoch die Vektorisierung von R und die integrierten LETTERS, um ein kleines bisschen kürzer zu sein.
Vielen Dank an rturnbull für die letzten 6 Bytes.
quelle
cat
oder es verwendensource(program,ec=T)
undec=T
als Flag zählen (gemäß dem Metakonsens für R-Programme), aber nach einem anderen, neueren Metakonsens zählen wir keine Flags länger, also ich das ist eine vollkommen gültige Lösung.Python 2 , 77 Bytes
Probieren Sie es online!
quelle
Rekursiva ,
4930 BytesProbieren Sie es online!
Gestatten Sie mir, meine eigene Frage in meiner eigenen Sprache zu beantworten. : D
Erläuterung:
quelle
Perl 5 , 47 + 1 (-p) = 48 Bytes
Probieren Sie es online!
quelle
Pyke , 28 Bytes
Probieren Sie es hier aus!
Erläuterung
quelle
Jelly , 19 Bytes
Probieren Sie es online!
Footer führt alle Testfälle aus und formatiert die Ausgabe.
quelle
Pyth, 30 Bytes
Die Seite scheint nicht das Zeichen mit dem Code Nummer 1 zu zeigen, so dass Sie ein Zeichen mit dem Code Nummer 1 vor dem einfügen müssen
&
,,
undm
am Ende(Ersetzen Sie alle
1
s durch Zeichen mit dem Code Punkt 1):quelle
Pyth , 25
26BytesÜberprüfen Sie alle Testfälle.
Erläuterung
quelle
Ly , 74 Bytes
Probieren Sie es online!
Ein einfacher If-Chain-Ansatz. Ich bezweifle, dass es viel kürzer gemacht werden kann.
quelle
(...)
erforderlich? PS nvm, anscheinend sind sie.Bash , 55 Bytes
Probieren Sie es online aus oder überprüfen Sie Testfälle .
quelle
Java 8, 55 Bytes
Probieren Sie es hier aus.
Alternative 57 Bytes :
Probieren Sie es hier aus.
Alternative 60 Bytes :
Probieren Sie es hier aus.
Vielleicht kann eine Art Formel gefunden werden, um 0-5 auf kürzere Weise als
n<14?0:n<171?1:n<181?2:n<295?3:n<301?4:5
mit dem letzten Ansatz zu erhalten. Ich untersuche das immer noch.quelle
PowerShell , 59 Byte
Probieren Sie es online!
Ähnlich wie bei Jonathan Allens Jelly-Antwort konstruieren wir ein Array aller miteinander verketteten Buchstaben und indizieren dieses Array dann mit der Eingabe
$args
.quelle
Kaninchen ~ , 50 Bytes
(Nicht konkurrierende Frage nach dem Termin. Ich habe gerade den Dolmetscher beendet (yay) und wollte versuchen, etwas zu lösen. Dies ist auch meine erste Code-Golf-Sache überhaupt.)
Grundsätzlich werden die Differenzen von einer Note zur nächsten 14.157.10.114.6.65 (kodiert als
ỤṅỌrḲA
) genommen und von der Eingabe subtrahiert. Wenn eine negative Zahl gefunden wird, hört sie auf, sich entlang der 'FEDCBA'-Sequenz fortzusetzen, und gibt den Buchstaben aus.Kleine Erklärung dieser schönen Syntax
Rabbit ~ verwendet einen gitterbasierten Speicher mit einem oder mehreren Carets, in denen Sie sich bewegen können. Diese Lösung verwendet 2.
quelle
Excel, 53 Bytes
Summe der Bedingungen, dann wird das erforderliche ASCII-Zeichen zurückgegeben:
Alternativlösungen:
Summierungsbedingungen, Rückgabe des Stringindex (63 Bytes):
quelle
K (oK) , 30 Bytes
Lösung:
Probieren Sie es online!
Erläuterung:
Index in den richtigen Eimer:
quelle
Jotlin ,
4841 BytesGesamtes Programm:
Portierte meine vorherige Kotlin-Antwort hier .
quelle
V ,
3734 BytesProbieren Sie es online!
Hexdump:
Grundidee:
FEDCBA
, erstellen Sie 5 Kopien von B, 113 Kopien von C usw., was zu der Zeichenfolge führt.FFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBA
(Möglicherweise gibt es eine effizientere Möglichkeit, dies zu tun.)n
Spalte (n
ist das erste Argument), kopieren Sie ein einzelnes Zeichen und ersetzen Sie die gesamte Zeichenfolge durch dieses.quelle
05AB1E , 19 Bytes
Probieren Sie es online!
quelle
Perl 6,
4239 Bytesquelle
Stax , 18 Bytes
Online ausführen und debuggen!
Erläuterung
In CP437 gezählte Bytes.
quelle
C #, 110 Bytes
Probieren Sie es online aus
quelle
?:
alsx<14?"F":x<170?"E":x<180?"D":x<294?"C":x<300?"B":"A"