พื้นหลัง
Brag เป็นเกมไพ่ที่มีแนวคิดคล้ายกัน แต่ง่ายกว่าโป๊กเกอร์ ไพ่ในมือประกอบด้วยไพ่สามใบและมีการจัดอันดับดังนี้จากสูงไปต่ำสุด:
ไพ่สามใบ - ไพ่สามใบเรียงลำดับเดียวกัน ตั้งชื่อเป็น "Three Kings" ฯลฯ
การเรียกใช้ flush หรือที่เรียกว่า flush แบบตรง ไพ่ทั้งสามใบที่มีชุดเดียวกันและมีลำดับติดกัน ไพ่ในมือเรียงตามลำดับจากน้อยไปมากตามด้วยคำว่า "ที่เด้ง" เพื่อแยกความแตกต่างจากการวิ่ง / ตรงเช่น "สิบแจ็ค - ราชินีในการเด้ง" หมายเหตุเอซมีค่าสูงหรือต่ำ แต่ไม่ใช่ทั้งคู่ - "king-ace-two" ไม่ใช่การวิ่ง
เรียกใช้ตรงไปตรงมา ข้างต้น แต่ไม่มีข้อกำหนดในการจับคู่ชุดสูท ตั้งชื่อง่ายๆเช่น "ten-jack-queen"
ฟลัช - ไพ่ทั้งสามใบในชุดเดียวกันตั้งชื่อตามอันดับสูงสุดเช่น "Ace flush"
คู่ - ไพ่สองใบที่มีอันดับเดียวกันพร้อมกับหนึ่งในสามของอันดับรุ่นอื่น ชื่อเป็น "คู่ของสาม" เป็นต้น
ชุดค่าผสมอื่น ๆ ตั้งชื่อตามอันดับสูงสุดเช่น "ace high"
ท้าทาย
เมื่อเล่นไพ่สามใบให้เอาชื่อโหนมือที่ออกมา
ไพ่จะถูกป้อนเป็นสตริงสองตัวอักษร 3 ตัวหรือต่อกันเป็นสตริง 6 ตัวเดียว (แล้วแต่จำนวนใดก็ตามที่คุณต้องการ) ซึ่งอันดับแรกของแต่ละคู่คืออันดับ (2 ... 9, T, J, Q, K, A) และชุดที่สองหมายถึงชุดสูท (H, C, D, S)
ใช้กฎมาตรฐานการตีกอล์ฟ - เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับอินพุตนี้และส่งชื่อของมือตามรายละเอียดด้านบน
คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นถูกต้อง (จัดอันดับและเหมาะสมในช่วงข้างต้นไม่มีการ์ดซ้ำ) และในกรณีใด ๆ ก็ตามที่คุณต้องการ แต่จะไม่เรียงตามลำดับใด ๆ
ผลลัพธ์จะต้องเป็นตัวพิมพ์ใหญ่ทั้งหมดตัวพิมพ์เล็กทั้งหมดหรือตัวพิมพ์ใหญ่ที่เหมาะสมเช่นตัวพิมพ์ชื่อเรื่องหรือตัวพิมพ์ประโยค อันดับตัวเลขควรถูกสะกดเช่น "สิบ" ไม่ใช่ 10s
ตัวอย่างอินพุตและเอาต์พุต:
2H3C2D => "pair of twos"
TD8C9C => "eight-nine-ten"
4SKS9S => "king flush"
4D4H4S => "three fours"
5H3H2C => "five high"
2D3DAD => "ace-two-three on the bounce"
6D6C6H => "three sixes"
นี่เป็นความพยายามครั้งแรกของฉันที่จะมีความท้าทายในเว็บไซต์นี้โปรดแนะนำการปรับปรุง แต่ต้องอ่อนโยน :)
"6D6C6S"
เป็นกรณีทดสอบเนื่องจากหกเป็นพหูพจน์แปลก