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 flushestraight
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, Cper 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 kindche a straightpossibili, 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.
