あなたの仕事は、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
2つの異なるブラックジャックシーケンスが含まれます。
JA
、エースは11ポイントとしてカウントされます(10 + 11 = 21)A3Q43
、エースは1ポイントとしてカウントされます(1 + 3 + 10 + 4 + 3 = 21)
だから答えはだろう2
。
ルール
- 2つのブラックジャックシーケンスは、異なるカードまたは同じカードが異なる順序で含まれている場合、別個と見なされます。入力リストの異なる位置にまったく同じシーケンスが表示される場合、1回だけカウントする必要があります。
- ブラックジャックシーケンスは互いにオーバーラップする場合があります。
- 各種類のカードは、シーケンス内で最大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