Сложите значения плиток для каждой буквы в слове. Регистр букв игнорируется. Нет множителей поля и джокеров.
Значения букв:
A, E, I, O, U, L, N, R, S, T: по 1 очку.
D, G: по 2 очка.
B, C, M, P: по 3 очка.
F, H, V, W, Y: по 4 очка.
K: 5 очков. J, X: по 8 очков. Q, Z: по 10 очков.
Реализуйте функцию word_tile_score(word).
Входные данные
word: Слово, для которого нужно посчитать очки.
Выходные данные
Верните сумму значений всех букв.
Ограничения
0 ≤ длина слова ≤ 10 000. Разрешены только ASCII-буквы. Пустой ввод даёт 0 очков.
Примеры
Ввод:
word = "code"
Ожидаемый вывод:
expected = 7
Ввод:
std::string word = "code";
Ожидаемый вывод:
long long expected = 7;
Ввод:
string word = "code";
Ожидаемый вывод:
long expected = 7;
Пояснение
C стоит 3, O — 1, D — 2, E — 1: 3 + 1 + 2 + 1 = 7.
Ввод:
word = "Quiz"
Ожидаемый вывод:
expected = 22
Ввод:
std::string word = "Quiz";
Ожидаемый вывод:
long long expected = 22;
Ввод:
string word = "Quiz";
Ожидаемый вывод:
long expected = 22;
Пояснение
Регистр не имеет значения. Q + U + I + Z даёт 10 + 1 + 1 + 10 = 22.
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.