Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



3 Commits

Repository files navigation

Kenny Rogers Kata

This is the kata that will help you know when to hold 'em, fold 'em, walk away, or run. Or something.

The exercise is simple. Write a function that takes two poker hands and declares the winner (or a tie).

It might be worthwhile to think of this as a comparator function. In fact, there's no reason that it can't just return -1, 0, 1 in classic comparator fashion. And, if you are feeling really ambitious, go ahead and use it to sort an array of poker hands.

Valid Poker Hands

Just for those of y'all who might need a refresher on the topic, here are the power hands ranked best to worst.

Hand Rank Description
Five of a Kind five cards of the same rank
Royal Flush A, K, Q, J, 10 of same suit
Straight Flush five cards of same suit in order
Four of a Kind four cards of the same rank
Full House two cards or the same rank and three cards of the same rank
Flush five cards of the same suit
Straight five cards in order
Three of a Kind three cards of the same rank
Two Pair two cards of the same rank and two other cards of the same rank
Pair two cards of the same rank
High Card a card


In the event of a tie, some people like to use suit as a tie breaker. Here are the suit orders from highest to lowest.


Even More Bonus

Wild cards. Add a list of wildcards to your funciton. Hilarity ensues as the odds get all messed up.


Don't build an object model up front to represent cards. Just write enough code to compare two hands. A good test to start with would be high card wins.


You gotta know when to code 'em...






No releases published