Easy 0 solved 0% acceptance

Word Tile Score

Add the tile values for every letter in a word.

What you'll learn

  • Store letter scores in a dictionary
  • Add up values for every letter
  • Ignore letter case

Problem

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.

Constraints

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

Examples

Example 1
Input:
word = "code"

Expected output:
expected = 7
Input:
std::string word = "code";

Expected output:
long long expected = 7;
Input:
string word = "code";

Expected output:
long expected = 7;

Explanation

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

Example 2
Input:
word = "Quiz"

Expected output:
expected = 22
Input:
std::string word = "Quiz";

Expected output:
long long expected = 22;
Input:
string word = "Quiz";

Expected output:
long expected = 22;

Explanation

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

How to approach it

Try on your own first, then open one hint at a time.

Hint 1

Each letter contributes a fixed value, so score the word by summing per-character weights.

Hint 2

A case-insensitive lookup table makes the mapping simple and fast.

Hint 3

Make sure every allowed letter is covered, including the high-value Q and Z tiles.

Expected complexity

O(n) time, O(1) extra space

References

This challenge is adapted for CodeUtility. Follow the statement and constraints above.

Learn from others

Community solutions

No published solutions yet. Solve this challenge to share the first one.