El reto:
En esta pregunta: Nombre la mano de póker que tuvo que tomar una mano de póker de cinco cartas e identifíquela. Esta pregunta es similar, con dos giros:
Primero, la salida será en minúsculas. Esto permite más golf, ya que no tiene que preocuparse por la capitalización flush
ystraight
high card
one pair
two pair
three of a kind
straight
flush
full house
four of a kind
straight flush
royal flush
En segundo lugar, con la popularidad de Texas Hold'em y 7 card stud, aquí en code golf deberíamos poder anotar una mano de póker de siete cartas, ¿verdad? Al anotar una mano de siete cartas, use las cinco mejores cartas para su mano e ignore las dos que no necesita.
Referencia:
Lista de manos de póker: http://en.wikipedia.org/wiki/List_of_poker_hands
Entrada (levantada directamente del hilo anterior)
7 cartas de argumentos estándar o de línea de comandos. Una tarjeta es una cadena de dos letras en el formulario RS
, donde R es rango y S es palo. Los rangos son 2
: 9
(tarjetas de números), T
(diez), J
(Jack), Q
(Reina), K
(Rey), A
(As). Los trajes son S
, D
, H
, C
de picas, diamantes, corazones y clubes respectivamente.
Ejemplo de cartas
5H - five of hearts
TS - ten of spades
AD - ace of diamonds
Ejemplo de entrada => salida deseada
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
Observe que en el segundo ejemplo en realidad hay tres pares, pero solo puede usar cinco cartas, así que es two pair
. En el quinto ejemplo, hay a three of a kind
y a straight
posibles, pero a straight
es mejor, por lo tanto, la salida straight
.
Puntuación
Este es el código de golf , ¡el código más corto gana!
Erratas
- No puede usar recursos externos.
- As es tanto alto como bajo para las rectas.