Estamos todos acostumados com o teclado do telefone da velha escola, certo? Para referência, aqui está o que parece:
Dada uma String que consiste apenas em letras ASCII minúsculas e espaços únicos , sua tarefa é retornar o número de toques que você deve fazer para digitar a String completa com um teclado de telefone como o descrito acima.
Para aqueles que não estão familiarizados com isso, veja como funciona:
A tecla com o dígito
2
, por exemplo, também possui a stringabc
escrita nela. Para digitara
, você deve pressionar essa tecla uma vez, poisb
deve pressionar duas vezes ec
pressionar três vezes.Para letras consecutivas que estão na mesma tecla, você deve esperar 1 segundo antes de pressionar novamente. Portanto, se você quiser digitar
cb
, pressione 3 vezesc
, aguarde um segundo e depois pressione duas vezesb
, para continuar com 5 toques.O mesmo se aplica a todas as outras teclas, exceto um espaço único , que requer apenas 1 toque. Observe também as teclas
7
e9
tem quatro letras nelas. O mesmo algoritmo é aplicado, a única diferença é o número de letras. As seqüências correspondentes a cada chave podem ser encontradas na imagem acima (mas em minúsculas) ou na lista a seguir, que contém todos os caracteres que você pode receber:"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
Casos de teste
Entrada -> Saída (Explicação) "" -> 0 (nada deve ser tocado) "água" -> 8 ("w, a, t" exige 1 torneira (nas teclas 9, 2 e 8), "e" requer 2 torneiras (na tecla 3), "r" requer 3 torneiras (na tecla 7 ), 1 + 1 + 1 + 2 + 3 = 8) "sabão" -> 9 (4 + 3 + 1 + 1) "candela" -> 13 (3 + 1 + 2 + 1 + 2 + 3 + 1) "código de golfe" -> 20 (3 + 3 + 1 + 2 + 1 (para o espaço) + 1 + 3 + 3 + 3) "rei da colina" -> 33 (2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 2 + 2 + 1 + 2 + 3 + 3 + 3)
Especificações
Aplicam-se as regras de E / S padrão e as brechas padrão.
Você pode receber apenas entradas no tipo String nativo do seu idioma. A saída pode ser um número inteiro ou uma representação de sequência desse número inteiro.
Este é o código-golfe , a resposta mais curta em todos os idiomas vence.