쉬움 0명 해결 정답률 0%

Word Tile Score

Add the tile values for every letter in a word.

배우게 될 내용

  • 글자 점수를 딕셔너리에 저장하기
  • 모든 글자의 값 더하기
  • 대소문자 무시하기

문제

Add the tile values for every letter in a word. Ignore case. There are no board multipliers or wildcard tiles.

Letter values:

A, E, I, O, U, L, N, R, S, T: 1 point each.

D, G: 2 each.

B, C, M, P: 3 each.

F, H, V, W, Y: 4 each.

K: 5. J, X: 8 each. Q, Z: 10 each.

Implement word_tile_score(word).

Input

word: The word to score.

Output

Return the sum of all letter values.

제약 조건

0 ≤ word length ≤ 10,000. Only ASCII letters are allowed. Empty input scores 0.

예시

예시 1
입력:
word = "code"

예상 출력:
expected = 7
입력:
std::string word = "code";

예상 출력:
long long expected = 7;
입력:
string word = "code";

예상 출력:
long expected = 7;

설명

C is worth 3, O is 1, D is 2, and E is 1: 3 + 1 + 2 + 1 = 7.

예시 2
입력:
word = "Quiz"

예상 출력:
expected = 22
입력:
std::string word = "Quiz";

예상 출력:
long long expected = 22;
입력:
string word = "Quiz";

예상 출력:
long expected = 22;

설명

Case does not matter. Q + U + I + Z gives 10 + 1 + 1 + 10 = 22.

접근 방법

먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.

힌트 1

각 글자는 고정 점수를 가지므로, 문자별 가중치를 더해 단어 점수를 계산하세요.

힌트 2

대소문자 구분 없는 조회 테이블을 쓰면 매핑이 간단하고 빠릅니다.

힌트 3

점수가 높은 Q와 Z 타일까지 포함해 허용된 모든 문자가 빠짐없이 처리되어야 합니다.

예상 복잡도

시간 O(n), 추가 공간 O(1)

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.