당신의 임무는 주어진 문자열이 적절한 길이이고 스크래블 타일로 표현 될 수 있는지 결정하고, 그렇다면 각 문자의 점수의 합을 출력하는 것입니다.
글자 맞추기 게임 방법을 모르는 경우 다양한 글자 A–Z가 인쇄 된 100 개의 타일과 글자를 나타내는 두 개의 와일드 카드가 있습니다. 각 문자에는 특정 개수의 점이 있으며 각 타일 (단, 반드시 단어는 아님)은 한 번만 사용할 수 있습니다. 단어가 재생되면 사용 된 각 타일의 포인트 값이 합산되어 점수가됩니다. 사용 가능한 글자 수가 제한되어 있으므로 단어에는 타일 + 사용되지 않은 와일드 카드가있는 횟수만큼만 특정 글자를 사용할 수 있습니다. 글자 맞추기 보드는 15 × 15 개의 셀이므로 단어의 길이는 2 ~ 15 자 여야합니다.
영어 버전의 각 문자의 수량 및 점수 목록은 아래 또는 http://boardgames.about.com/od/scrabble/a/tile_distribute.htm ( archive )을 참조하십시오 .
문자 수량 포인트 문자 수량 포인트 ------------------- ------------------- A 9 1 O 8 1 B 2 3 P 2 3 C 2 3 Q 1 10 D 4 2 R 6 1 E 12 1 S 4 1 F 2 4 T 6 1 G 3 2 U 4 1 H 2 4 V 2 4 I 9 1 W 2 4 J 1 8 X 1 8 K 1 5 Y 2 4 L 4 1 Z 1 10 M 2 3 [야생] 2 0 N 6 1
추가 규칙
- 프로그램은 STDIN 등으로부터 단일 입력 문자열을 가져야합니다.
- 입력은 항상 대문자 만 포함합니다.
- 문자열에 해당 문자에 사용되지 않은 와일드 카드 나 타일보다 많은 문자 사본이 포함되어 있거나 문자열 길이가 2에서 15 사이가 아닌 경우 프로그램에서 출력해야합니다
Invalid
. - 그렇지 않으면 위 차트의 데이터를 사용하여 점수를 합산하여 출력해야합니다.
- 필요한 경우가 아니면 와일드 카드를 사용하지 마십시오.
- 이중 단어 점수 또는 문자열이 실제 단어인지와 같은 보너스에 대해 걱정하지 마십시오.
- 프로그램은 STDOUT 등을 통해 결과를 출력해야합니다.
- 기본적으로 금지 된 허점은 허용되지 않습니다.
- 스크래블 점수 또는 적절한 수량을 계산하는 라이브러리, API, 함수 등뿐만 아니라 웹 사이트와 같은 외부 소스를 사용하는 것도 허용되지 않습니다.
- 이것은 code-golf 이므로 가장 적은 바이트가 이깁니다.
연습
Input: CODEGOLF
C -> 3, O -> 1, D -> 2, E -> 1, G -> 2, O -> 1, L -> 1, F -> 4
3 + 1 + 2 + 1 + 2 + 1 + 1 + 4 = 15
Output: 15
테스트 케이스
입출력 ------------------------ 문제 14 재즈 19 스택 교환 32 XYWFHQYVZVJKHFW 81 피자 KIXOKEJAJAX가 유효하지 않습니다 잘못된 잘못
-1
?
Invalid
.