Siamo tutti abituati alla tastiera del telefono della vecchia scuola, giusto? Per riferimento, ecco come appare:
Data una stringa composta solo da lettere ASCII minuscole e singoli spazi , il tuo compito è quello di restituire il numero di tocchi che uno dovrebbe fare per digitare l'intera stringa con una tastiera del telefono come quella sopra.
Per coloro che non hanno familiarità con questo, ecco come funziona:
La chiave con la cifra
2
, ad esempio, ha anche la stringaabc
scritta su di essa. Per digitarea
, è necessario premere questo tasto una volta, poichéb
è necessario premere due volte e perc
tre volte.Per le lettere consecutive che si trovano sullo stesso tasto, è necessario attendere 1 secondo prima di premere nuovamente. Quindi, se si desidera digitare
cb
, è necessario premere 3 volte perc
, attendere un secondo e quindi premere due volte perb
, quindi ancora 5 tocchi.Lo stesso vale per tutti gli altri tasti, tranne uno spazio singolo , che richiede solo 1 pressione. Si noti inoltre che i tasti
7
e9
hanno quattro lettere su di essi. Viene applicato lo stesso algoritmo, l'unica differenza è il numero di lettere. Le stringhe corrispondenti a ciascun tasto si trovano nell'immagine sopra (ma in minuscolo), o nel seguente elenco, che contiene tutti i caratteri che potresti ricevere:"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
Casi test
Ingresso -> Uscita (spiegazione) "" -> 0 (nulla deve essere toccato) "water" -> 8 ("w, a, t" richiedono ciascuno 1 tap (sui tasti 9, 2 e 8), "e" richiede 2 tap (sul tasto 3), "r" richiede 3 tap (sul tasto 7 ), 1 + 1 + 1 + 2 + 3 = 8) "sapone" -> 9 (4 + 3 + 1 + 1) "candela" -> 13 (3 + 1 + 2 + 1 + 2 + 3 + 1) "code golf" -> 20 (3 + 3 + 1 + 2 + 1 (per lo spazio) + 1 + 3 + 3 + 3) "re della collina" -> 33 (2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 2 + 2 + 1 + 2 + 3 + 3 + 3)
Specifiche
Si applicano le regole I / O standard e le lacune predefinite.
Puoi inserire solo input nel tipo di stringa nativo della tua lingua. L'output può essere un numero intero o una rappresentazione di stringa di quel numero intero.
Questo è code-golf , la risposta più breve in ogni lingua vince.