Назовите покерную комбинацию
Учитывая пять карт, выведите название покерной руки, которая будет одной из:
High card
One pair
Two pair
Three of a kind
Straight
Flush
Full house
Four of a kind
Straight flush
Royal Flush
Если вы сомневаетесь, обратитесь к правилам на http://en.wikipedia.org/wiki/List_of_poker_hands .
вход
5 карт из аргументов стандартного ввода или командной строки. Карта представляет собой двухбуквенную строку в форме RS
, где R - ранг, а S - масть. В рядах являются 2
- 9
(номер карты), T
(десять), J
(Jack), Q
(Queen), K
(король), A
(Ace). В костюмы являются S
, D
, H
, C
для лопаты, бубны, червы и клубов соответственно.
Пример карт
5H - five of hearts
TS - ten of spades
AD - ace of diamonds
Пример ввода => желаемый вывод
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
правила
Самый короткий код выигрывает
редактировать
Выглядит великолепно до сих пор! Я не могу на самом деле проверить все ответы, так как я не очень хорошо знаю эти языки и у меня нет компиляторов / интерпретаторов для всех из них, но я подозреваю, что не все думали о том, что тузы могут быть как самыми высокими, так и самые низкие карты стрита (флеш) .