Wir sind alle an die alte Telefontastatur gewöhnt, oder? Als Referenz sehen Sie hier, wie es aussieht:
Bei einer Zeichenfolge, die nur aus ASCII-Kleinbuchstaben und einzelnen Leerzeichen besteht , müssen Sie die Anzahl der Abgriffe zurückgeben, die erforderlich sind, um die gesamte Zeichenfolge mit einer Telefontastatur wie der oben angegebenen abzutippen.
Für diejenigen, die damit nicht vertraut sind, ist hier, wie es funktioniert:
Auf dem Schlüssel mit der Ziffer
2
ist beispielsweise auch die Zeichenfolgeabc
geschrieben. Um zu tippena
, müssen Sie diese Taste einmal drücken, dennb
Sie müssen zweimal drücken undc
Sie müssen dreimal drücken.Bei aufeinanderfolgenden Buchstaben, die sich auf derselben Taste befinden, müssen Sie eine Sekunde warten, bevor Sie erneut drücken. Wenn Sie also tippen möchten
cb
, müssen Sie 3 Mal drückenc
, eine Sekunde warten und dann zweimal drückenb
, sodass Sie immer noch 5 Mal tippen müssen .Gleiches gilt für alle anderen Tasten, mit Ausnahme einer einzelnen Leerstelle, für die nur ein Tastendruck erforderlich ist. Beachten Sie auch, dass die Tasten
7
und9
vier Buchstaben haben. Es wird derselbe Algorithmus angewendet, der einzige Unterschied besteht in der Anzahl der Buchstaben. Die Zeichenfolgen für die einzelnen Tasten finden Sie in der Abbildung oben (jedoch in Kleinbuchstaben) oder in der folgenden Liste, die alle Zeichen enthält, die Sie möglicherweise erhalten:"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
Testfälle
Eingabe -> Ausgabe (Erläuterung) "" -> 0 (nichts sollte getippt werden) "Wasser" -> 8 ("w, a, t" erfordern jeweils 1 Tippen (auf die Tasten 9, 2 und 8), "e" erfordern 2 Tippen (auf die Taste 3), "r" erfordern 3 Tippen (auf die Taste 7) ), 1 + 1 + 1 + 2 + 3 = 8) "Seife" -> 9 (4 + 3 + 1 + 1) "candela" -> 13 (3 + 1 + 2 + 1 + 2 + 3 + 1) "Code Golf" -> 20 (3 + 3 + 1 + 2 + 1 (für das Leerzeichen) + 1 + 3 + 3 + 3) "König des Hügels" -> 33 (2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 2 + 2 + 1 + 2 + 3 + 3 + 3)
Technische Daten
Es gelten Standard-E / A-Regeln und Standard-Regelungslücken.
Sie können nur Eingaben in den systemeigenen String-Typ Ihrer Sprache vornehmen. Die Ausgabe kann entweder eine Ganzzahl oder eine Zeichenfolgendarstellung dieser Ganzzahl sein.
Dies ist Code-Golf , die kürzeste Antwort in jeder Sprache gewinnt.