งานของคุณคือการหาลำดับแบล็คแจ็คที่แตกต่างกันจำนวนมากในรายการไพ่ 12 ใบ
ลำดับแบล็กแจ็กถูกกำหนดให้เป็นลำดับของไพ่ที่ต่อเนื่องกันซึ่งมีแต้มรวมเป็น 21 แต้มจะถูกนับตามตารางต่อไปนี้:
Symbol | Name | Points Symbol | Name | Points
-------+-------+-------- -------+-------+--------
2 | Two | 2 9 | Nine | 9
3 | Three | 3 T | Ten | 10
4 | Four | 4 J | Jack | 10
5 | Five | 5 Q | Queen | 10
6 | Six | 6 K | King | 10
7 | Seven | 7 A | Ace | 1 or 11
8 | Eight | 8
อินพุต
สตริง 12 อักขระโดยใช้สัญลักษณ์ที่อธิบายไว้ข้างต้น เราไม่สนใจเกี่ยวกับสีของการ์ดดังนั้นจึงไม่มีให้
ตัวอย่าง:
K6K6JA3Q4389
เอาท์พุต
จำนวนของลำดับแบล็คแจ็คที่แตกต่างกันซึ่งสามารถพบได้ในสตริงอินพุต
ตัวอย่าง:
K6K6JA3Q4389
รวมถึงลำดับแบล็คแจ็คที่แตกต่างกันสองลำดับ:
JA
โดยที่แต้มถูกนับเป็น 11 คะแนน (10 + 11 = 21)A3Q43
โดยที่แต้มถูกนับเป็น 1 แต้ม (1 + 3 + 10 + 4 + 3 = 21)
ดังนั้นคำตอบก็2
คือ
กฎระเบียบ
- ลำดับแบล็คแจ็คสองลำดับถือว่าแตกต่างกันหากมีไพ่ต่างกันหรือมีไพ่เหมือนกันตามลำดับที่ต่างกัน หากลำดับเดียวกันที่แน่นอนปรากฏขึ้นที่ตำแหน่งต่าง ๆ ในรายการอินพุตจะต้องนับเพียงครั้งเดียว
- ลำดับแบล็คแจ็คอาจซ้อนทับกัน
- การ์ดแต่ละชนิดอาจปรากฏขึ้นตามลำดับสูงสุด 12 ครั้ง (เราคิดว่าการ์ดจะถูกเลือกจากอย่างน้อย 3 เด็คที่แตกต่างกัน)
- หากไม่พบลำดับแบล็กแจ็กในสตริงอินพุตคุณต้องส่งคืน
0
หรือค่าเท็จอื่น ๆ - นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
กรณีทดสอบ
มีการจัดลำดับเพื่อจุดประสงค์ในการให้ข้อมูล แต่คุณจะต้องส่งออกจำนวนเท่านั้น
Input | Output | Distinct sequences
-------------+--------+--------------------------------------------------------
3282486Q3362 | 0 | (none)
58A24JJ6TK67 | 1 | 8A2
Q745Q745Q745 | 1 | Q74
AAAAAAAAAAAA | 1 | AAAAAAAAAAA
T5AQ26T39QK6 | 2 | AQ, 26T3
JQ4A4427464K | 3 | A442, 44274, 7464
Q74Q74Q74Q74 | 3 | Q74, 74Q, 4Q7
37AQKA3A4758 | 7 | 37A, 37AQ, AQ, AQK, QKA, KA, A3A475
TAQA2JA7AJQA | 10 | TA, TAQ, AQ, QA, A2JA7, 2JA7A, JA, AJ, AJQ, JQA
TAJAQAKAT777 | 13 | TA, TAJ, AJ, JA, JAQ, AQ, QA, QAK, AK, KA, KAT, AT, 777