Мы все привыкли к старой школьной телефонной клавиатуре, верно? Для справки вот как это выглядит:
Если задана строка, состоящая только из строчных букв ASCII и одинарных пробелов , ваша задача состоит в том, чтобы вернуть количество нажатий, которое нужно сделать, чтобы набрать полную строку с телефонной клавиатуры, как показано выше.
Для тех, кто не знаком с этим, вот как это работает:
2
Например, на ключе с цифрой такжеabc
записана строка . Для того, чтобы набратьa
, вы должны нажать эту клавишу один раз, потому чтоb
вы должны нажать дважды, иc
вы должны нажать трижды.Для последовательных букв, которые находятся на одной и той же клавише, вы должны подождать 1 секунду, прежде чем нажимать снова. Итак, если вы хотите печатать
cb
, вы должны нажать 3 разаc
, подождать секунду, а затем дважды нажатьb
, так что еще 5 нажатий.То же самое относится ко всем остальным клавишам, за исключением одного пробела, который требует только одного нажатия. Также обратите внимание, что ключи
7
и9
имеют четыре буквы на них. Применяется тот же алгоритм, единственное отличие состоит в количестве букв. Строки, соответствующие каждой клавише, можно найти на изображении выше (но в нижнем регистре) или в следующем списке, который содержит все символы, которые вы можете получить:"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
Тестовые случаи
Вход -> Выход (Пояснение) "" -> 0 (ничего не должно касаться) «вода» -> 8 («w, a, t» для каждого требуется 1 нажатие (на клавиши 9, 2 и 8), для «e» требуется 2 нажатия (для клавиши 3), для «r» требуется 3 нажатия (для клавиши 7). ), 1 + 1 + 1 + 2 + 3 = 8) «мыло» -> 9 (4 + 3 + 1 + 1) "кандела" -> 13 (3 + 1 + 2 + 1 + 2 + 3 + 1) «код гольф» -> 20 (3 + 3 + 1 + 2 + 1 (для места) + 1 + 3 + 3 + 3) «Царь горы» -> 33 (2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 2 + 2 + 1 + 2 + 3 + 3 + 3)
Спекуляции
Применяются стандартные правила ввода / вывода и стандартные лазейки.
Вы можете принимать данные только в родном типе String вашего языка. Вывод может быть целым числом или строковым представлением этого целого числа.
Это код-гольф , выигрывает самый короткий ответ на любом языке .