注:これは、@ Willbeingによる特定の長さの完璧なプレートの数を数えることがこの質問に触発されたものですが、わずかに異なります。
テキストが次の条件を満たす完璧なナンバープレートを呼び出します。
- 文字で構成され、大文字(
[A-Z]
)または数字([0-9]
)のいずれかです。 - 英語のアルファベットの文字の位置を合計すると、1のインデックスが付けられます(つまり:)
A=1,B=2,...,Z=26
整数nが得られます - 各桁のチャンクを取得し、それらを合計してからすべての結果を乗算すると、同じ結果nが得られます
- nは完全な正方形です(例:
49
(7 2)、16
(4 2))
ほぼ完全なライセンスプレートは、ことを除いて、完璧なナンバープレートのための条件を満たしているnがあるではない完全な方形。
入力
ナンバープレートのテキストを表す文字列。ハードコーディングを除き、標準形式の入力として使用されます。
出力
与えられた文字列がほぼ完璧なナンバープレートを表す場合、真の値(例:True
/ 1
)を返し、そうでない場合は偽の値(例:False
/ 0
)を返します。この抜け穴は厳密に禁止されていることに注意しながら、標準形式の出力はすべて受け入れられます。
例
licence plate -> output
A1B2C3 -> 1
A + B + C = 1 + 2 + 3 = 6
1 * 2 * 3 = 6
6 is not a perfect square, 6 = 6 => nearly perfect plate
01G61 -> 1
(0 + 1) * (6 + 1) = 7
G = 7
7 is not a perfect square, 7 = 7 => nearly perfect plate
11BB2 -> 0
(1 + 1) * 2 = 4
B + B = 2 + 2 = 4
4 = 4, but 4 is the square of 2 => perfect license plate (not what we want)
67FF1 -> 0
(6 + 7) * 1 = 13
F + F = 6 + 6 = 12
12 != 13 => not perfect at all!
得点
これはcode-golfなので、バイト単位の最短回答が勝ちです!
n
完全な方形?
s/licence/license/ig
これを行う前に、「ライセンス」が英国英語(および世界の他の地域の英語)の正しいスペルであることに注意してください。