Змагання:
У цьому запитанні: Назвіть руку покеру, яку вам довелося взяти в покер на п’ять картках, і визначте її. Це питання схоже з двома поворотами:
По-перше, вихід буде в усіх нижчих регістрах. Це дозволяє отримати більше гольфу, оскільки вам не доведеться турбуватися про капіталізацію flush
таstraight
high card
one pair
two pair
three of a kind
straight
flush
full house
four of a kind
straight flush
royal flush
По-друге, маючи популярність Техаського Холдему та 7 карт-студ, ми, тут, за кодом гольфу, повинні мати змогу забити сім- покерну руку, я прав? Забиваючи сім карт вручну, використовуйте п’ять найкращих карт для своєї руки і ігноруйте дві, які вам не потрібні.
Довідка:
Список рук у покер: http://en.wikipedia.org/wiki/List_of_poker_hands
Введення (підняте безпосередньо з попереднього потоку)
7 карток з аргументів stdin або командного рядка. Картка - це два букви на формі 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 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
Зауважте, у другому прикладі є насправді три пари, але ви можете використовувати лише п’ять карток, так що це two pair
. У п’ятому прикладі є і а, three of a kind
і straight
можливі, але straight
краще, тому виведіть straight
.
Оцінка балів
Це код-гольф , тому найкоротший код виграє!
Еррата
- Ви не можете використовувати зовнішні ресурси.
- Туз - як високий, так і низький для прямих.