참고 : 이것은 @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"라이센스"가 영국 영어 (세계 다른 지역의 영어)의 올바른 철자임을 알아야합니다.