La sfida:
In questa domanda: nomina la mano di poker che hai dovuto prendere una mano di poker a cinque carte e identificala. Questa domanda è simile, con due colpi di scena:
Innanzitutto, l'output sarà in tutte le lettere minuscole. Ciò consente di giocare a più golf, poiché non devi preoccuparti della capitalizzazione di flush
estraight
high card
one pair
two pair
three of a kind
straight
flush
full house
four of a kind
straight flush
royal flush
In secondo luogo, con la popolarità del Texas Hold'em e del 7 card stud, qui al code golf dovremmo essere in grado di segnare una mano di poker con sette carte , vero? Quando ottieni una mano da sette carte, usa le cinque carte migliori per la tua mano e ignora le due che non ti servono.
Riferimento:
Elenco delle mani di poker: http://en.wikipedia.org/wiki/List_of_poker_hands
Input (sollevato direttamente dal thread precedente)
7 carte da argomenti stdin o commandline. Una carta è una stringa di due lettere sul modulo RS
, dove R è il rango e S è il seme. I gradi sono 2
- 9
(carte numeriche), T
(dieci), J
(Jack), Q
(regina), K
(re), A
(asso). Gli abiti sono S
, D
, H
, C
per picche, quadri, cuori e club rispettivamente.
Esempio di carte
5H - five of hearts
TS - ten of spades
AD - ace of diamonds
Esempio di input => output desiderato
3H 5D JS 3C 7C AH QS => one pair
JH 4C 2C 9S 4H JD 2H => two pair
7H 3S 7S 7D AC QH 7C => four of a kind
8C 3H 8S 8H 3S 2C 5D => full house
AS KC KD KH QH TS JC => straight
Si noti che nel secondo esempio ci sono in realtà tre coppie, ma è possibile utilizzare solo cinque carte, quindi è two pair
. Nel quinto esempio, ci sono sia a three of a kind
che a straight
possibili, ma a straight
è migliore, quindi output straight
.
punteggio
Questo è code-golf , quindi vince il codice più corto!
Errata
- Non è possibile utilizzare risorse esterne.
- L'asso è sia alto che basso per i rettilinei.