Wyzwanie:
W tym pytaniu: Wymień rękę pokera, którą musiałeś wziąć z pięciokartowym układem pokera i określ ją. To pytanie jest podobne, z dwoma zwrotami akcji:
Po pierwsze, wynik będzie zapisany małymi literami. Pozwala to na więcej golfa, ponieważ nie musisz się martwić o wielkie litery flush
istraight
high card
one pair
two pair
three of a kind
straight
flush
full house
four of a kind
straight flush
royal flush
Po drugie, mając popularność Texas Hold'em i 7-kartowego studa, my tutaj, w golfie code, powinniśmy być w stanie zdobyć siedmiokartowego pokera, prawda? Przy zdobywaniu siedmiokartowego układu, użyj pięciu najlepszych kart dla swojego układu i zignoruj dwa, których nie potrzebujesz.
Odniesienie:
Lista rąk pokera: http://en.wikipedia.org/wiki/List_of_poker_hands
Wejście (podnoszone bezpośrednio z poprzedniego wątku)
7 kart z argumentów standardowego lub wiersza poleceń. Karta to dwuliterowy ciąg znaków w formularzu RS
, w którym R oznacza rangę, a S jest koloru. W szeregi są 2
- 9
(karty), numer T
(dziesięć), J
(Jack), Q
(Queen), K
(King), A
(ACE). Te stroje są S
, D
, H
, C
dla pik, karo, kier i klubów odpowiednio.
Przykład kart
5H - five of hearts
TS - ten of spades
AD - ace of diamonds
Przykład wejścia => pożądany wynik
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
Zauważ, że w drugim przykładzie są właściwie trzy pary, ale możesz użyć tylko pięciu kart, więc tak jest two pair
. W piątym przykładzie są zarówno a, jak three of a kind
i straight
możliwe, ale a straight
jest lepsze, więc wynik straight
.
Punktacja
To jest golf golfowy , więc wygrywa najkrótszy kod!
Errata
- Nie możesz używać zasobów zewnętrznych.
- As jest zarówno wysoki, jak i niski dla stritów.