Erstellen Sie mit dem Code-Golf- Tag ein Programm, das die letzten 50 Herausforderungen mit mindestens 20 Antworten findet. Extrahieren Sie dann die Punktzahlen für jede Sprache in jeder der Herausforderungen. Wenn es mehr als eine Antwort in derselben Sprache gibt, zählen Sie alle Punkte. Nehmen Sie anschließend die 20 häufigsten Sprachen und geben Sie eine Liste mit den Namen der Sprachen, der Anzahl der Antworten, der durchschnittlichen Anzahl der Bytes und der mittleren Anzahl der Bytes aus. Die Liste sollte nach der Anzahl der Antworten in absteigender Reihenfolge sortiert sein.
Sie müssen Unterschiede in der Großschreibung berücksichtigen (zum Beispiel: Matlab = MATLAB).
Zählen Sie Sprachen mit vielen verschiedenen Versionsnummern (z. B. Python) als eindeutige Sprachen. Python != Python 2 != Python 2.7 != Python 3.x
Beispielausgabe (Ausgabeformat ist optional):
cJam, 66, 12.4, 8.5
Pyth, 58, 15.2, 19
Ruby, 44, 19.2, 22.5
Python, 34, 29.3, 32
Python 2.7, 22, 31.2, 40
...
...
Java, 11, 115.5, 94.5
Header-Formate, die unterstützt werden müssen:
- Beginnt mit
# Language name,
oder#Language name
- Endet mit
xx bytes
,xx Bytes
oder einfach nurxx
- Es kann viel Müll zwischen dem ersten Komma und der letzten Zahl liegen.
- Wenn der Name der Sprache ein Link (
[Name](link)
) ist, kann er übersprungen werden
Wenn die Antwort ein anderes Kopfzeilenformat hat, können Sie sie überspringen (oder einschließen, wenn Ihr Code damit umgehen kann).
Beispielsweise müssen alle folgenden Header unterstützt werden:
# Language Name, N bytes
# Ruby, <s>104</s> <s>101</s> 96 bytes
# Perl, 43 + 2 (-p flag) = 45 Bytes
# MATLAB, 5
Regeln:
- Es ist in Ordnung, die API oder nur die Website-URL zu verwenden
- Folgendes kann aus der Anzahl der Bytes extrahiert werden (sonst nichts), sodass kein URL-Shortener verwendet werden muss (maximal 44 Bytes):
https://
(oderhttp://
)codegolf
.stackexchange.com
/questions
- Folgendes kann aus der Anzahl der Bytes extrahiert werden (sonst nichts), sodass kein URL-Shortener verwendet werden muss (maximal 44 Bytes):
- Das Programm kann Eingaben übernehmen. Die Eingabe wird in die Byteanzahl einbezogen.
Ansonsten gelten die Standardregeln.
xx bytes
ist dies bei den jüngsten Herausforderungen sehr verbreitet (zumindest seit das Leaderboard-Snippet erstellt wurde).Antworten:
R, 821 - 44 = 777 Bytes
Aktualisierte Ergebnisse : Bitte sehen Sie im Bearbeitungsverlauf nach, um alle Kommentare unten zu verstehen.
Den Code, den ich noch etwas kürzen könnte:
Entgolft:
quelle
Python 2, 934 - 44 (URL-Inhalte) = 890 Byte
Verwendung der API:
Beachten Sie, dass dieser Code die API-Drosselung nicht berücksichtigt.
Ausgabe:
quelle
/questions
Reduzierung zu qualifizieren .bytes
zulässt , während meins andere Suffixe wie behandeltchars
.l=re.sub("# ?|,","",l)
als würde C # durch C.