Fácil 0 resueltos 0% de aceptación

Word Tile Score

Add the tile values for every letter in a word.

Lo que aprenderás

  • Guardar el valor de las letras en un diccionario
  • Sumar el valor de cada letra
  • Ignorar mayúsculas y minúsculas

Problema

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.

Restricciones

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

Ejemplos

Ejemplo 1
Entrada:
word = "code"

Salida esperada:
expected = 7
Entrada:
std::string word = "code";

Salida esperada:
long long expected = 7;
Entrada:
string word = "code";

Salida esperada:
long expected = 7;

Explicación

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

Ejemplo 2
Entrada:
word = "Quiz"

Salida esperada:
expected = 22
Entrada:
std::string word = "Quiz";

Salida esperada:
long long expected = 22;
Entrada:
string word = "Quiz";

Salida esperada:
long expected = 22;

Explicación

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

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Cada letra aporta un valor fijo, así que calcula la puntuación de la palabra sumando pesos por carácter.

Pista 2

Una tabla de búsqueda sin distinción de mayúsculas y minúsculas hace el mapeo simple y rápido.

Pista 3

Asegúrate de cubrir todas las letras permitidas, incluidas las fichas de alto valor Q y Z.

Complejidad esperada

tiempo O(n), espacio extra O(1)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.