Als Kind habe ich oft das Kartenspiel " Golf " gespielt . Ihre Herausforderung besteht darin, die Punktzahl einer Golfhand zu berechnen, falls Sie diese akzeptieren möchten. Da es über 9000 Variationen zu diesem Kartenspiel 1 gibt , werden wir die Regeln einhalten, an die ich mich erinnere.
Spielregeln)
Sie beenden eine Runde mit 6 Karten und möchten so wenig Punkte wie möglich.
Joker werden nicht verwendet.
Asse und 2er sind jeweils -1 und -2 Punkte wert.
Buben und Könige sind beide 0 Punkte wert.
Karten von 3 bis 10 sind den Nennwert wert. Diese werden jedoch abgebrochen, wenn Sie sie abkoppeln. Zum Beispiel ist eine 5 5 Punkte wert, aber zwei 5 sind Null wert. Drei 5s sind 5 Punkte wert (da die ersten 2 abgeglichen sind, die dritte nicht) und vier 5s sind 0 wert (da es 2 Paare ergibt).
Königinnen sind 15 Punkte wert. Königinnen können nicht storniert werden, zB sind 2 Königinnen 30 Punkte wert.
Regeln (der Herausforderung)
Die Eingabe besteht aus einem Array von Ganzzahlen oder 6 einzelnen Ganzzahlen. Welches Sie bevorzugen. 1 stellt ein Ass dar, 2-10 stellt 2-10 dar und Jack, Queen und King stellen 11, 12 und 13 dar. Die Ausgabe ist die Punktzahl der Hand gemäß den obigen Regeln. Sie können davon ausgehen, dass alle Eingaben gültig sind, z. B. dass keine Zahl mehr als viermal vorkommt und alle Zahlen im Bereich liegen [1, 13]
. Eingabe und Ausgabe können in jedem vernünftigen Format erfolgen.
Test IO:
[11, 10, 3, 1, 2, 2] --> 8
[4, 5, 5, 3, 8, 7] --> 22
[2, 2, 2, 2, 1, 1] --> -10 (The lowest score possible)
[12, 12, 12, 12, 10, 9] --> 79 (The highest score possible)
[9, 9, 9, 9, 11, 1] --> -1
[8, 8, 8, 8, 11, 13] --> 0
[10, 9, 3, 7, 12, 2] --> 42
[1, 2, 3, 4, 5, 6] --> 15
[10, 9, 2, 3, 4, 1] --> 23
[10, 3, 12, 3, 7, 12] --> 47
Kürzeste Antwort in Bytes gewinnt!
1 nicht wirklich, aber es gibt viele Variationen.
quelle
0=?
ein paar Mal oder ähnlich verwendet haben - können Sie?!
stattdessen verwenden?MATL ,
2726 BytesDie Eingabe ist ein Spaltenarray, dh Werte werden durch Semikolon getrennt.
Probieren Sie es online! oder überprüfen Sie alle Testfälle (dies fügt eine Schleife hinzu, um alle Eingaben zu übernehmen, und ersetzt
G
durch1$0G
, um die neuesten Eingaben zu übertragen).Erläuterung
quelle
Pyth -
373635Das scheint viel zu groß, aber FGITW.
Test Suite .
quelle
J
undK
scheint völlig unnötig, und auch können Sie Golf+_
auf-
;) Ich habe 31:+*15/Q12-sm*d%/Qd2{>#2<#11Qs@S2
+*15/Q12-s*R%/Qd2}3Ts@S2
JavaScript (ES6), 63 Byte
Oder wenn Sie es vorziehen,
quelle
Perl 5 , 74 +1 (
-a
) = 75 BytesProbieren Sie es online!
quelle
Perl 5.10.0 +
-n
,115646056 BytesProbieren Sie es online!
Erläuterung:
Hinzufügen der
-n
Schleife:quelle