EINGABE: Ein beliebiger String, der ausschließlich aus Kleinbuchstaben besteht (Funktionsargument, Befehlszeilenargument, STDIN oder ähnliches).
AUSGABE: Eine Zahl drucken oder zurückgeben, die die Summe der Abstände der Buchstaben gemäß der folgenden Metrik darstellt:
Sie nehmen den ersten und zweiten Buchstaben und zählen den Abstand zwischen ihnen. Der Abstand wird durch das QWERTZ-Tastaturlayout definiert. Dabei hat jeder benachbarte Buchstabe in derselben Zeile den Abstand 1 und jeder benachbarte Buchstabe in derselben Spalte den Abstand 2. Um den Abstand zwischen Buchstaben zu messen, die nicht benachbart sind, wählen Sie den kürzesten Weg zwischen den beiden.
Beispiele:
q->w is 1 distance apart
q->e is 2 distance
q->a is 2 distance
q->s is 3 distance (q->a->s or q->w->s)
q->m is 10 distance
Dann nehmen Sie den zweiten und dritten Buchstaben, dann den dritten und vierten usw., bis Sie das Ende der Eingabe erreichen. Die Ausgabe ist die Summe aller dieser Entfernungen.
Beispiel Ein- und Ausgabe:
INPUT: qwer
OUTPUT: 3
INPUT: qsx
OUTPUT: 5
INPUT: qmq
OUTPUT: 20
INPUT: tttt
OUTPUT: 0
Hier ist ein Bild, das zeigt, welche Buchstaben sich in derselben Spalte befinden:
Das ist Code Golf, also gewinnt der kürzeste Code in Bytes!