Dê um nome à mão de pôquer
Dadas cinco cartas, produza o nome da mão de poker, que será uma das seguintes:
High card
One pair
Two pair
Three of a kind
Straight
Flush
Full house
Four of a kind
Straight flush
Royal Flush
Em caso de dúvida, consulte as regras em http://en.wikipedia.org/wiki/List_of_poker_hands .
Entrada
5 cartas dos argumentos stdin ou da linha de comando. Um cartão é uma sequência de duas letras no formulário RS
, onde R é a classificação e S é o naipe. As fileiras são 2
- 9
(cartas numéricas), T
(dez), J
(Valete), Q
(Rainha), K
(Rei), A
(Ás). Os ternos são S
, D
, H
, C
para pás, diamantes, corações e clubes, respectivamente.
Exemplo de cartões
5H - five of hearts
TS - ten of spades
AD - ace of diamonds
Exemplo de entrada => saída desejada
3H 5D JS 3C 7C => One pair
JH 4C 2C JD 2H => Two pair
7H 3S 7S 7D 7C => Four of a kind
8C 3H 8S 8H 3S => Full house
Regras
O código mais curto vence
Editar
Parece ótimo até agora! Na verdade, não consigo verificar todas as respostas, pois não conheço muito bem esses idiomas e não tenho compiladores / intérpretes para todos eles, mas suspeito que nem todos tenham pensado que o Ases pode ser o mais alto e o mais importante. as cartas mais baixas de um Straight (flush) .