Meus pais têm um dispositivo de home theater. O controle remoto está quebrado, tornando incrivelmente difícil navegar para a direita em um menu. Na maioria das vezes, ele não funciona, mas quando funciona, move-se para a direita incrivelmente rápido.
Isso é obviamente frustrante, mas é mais frustrante quando você deseja inserir um título de filme que exija a navegação em um teclado com a seguinte aparência:
a b c d e f
g h i j k l
m n o p q r
s t u v w x
y z 1 2 3 4
5 6 7 8 9 0
Sua tarefa é tomar como entrada um título de filme e calcular o quão "frustrante" é digitar esse título de filme. O número de frustração de uma sequência específica é o número de letras que requerem mover-se diretamente da letra anterior a elas. Não nos importamos com o quão certo eles estão, pois se começamos a nos movermos para a direita, quase instantaneamente chegamos ao final da linha e não nos importamos com movimentos para cima, para baixo ou para a esquerda porque são fáceis.
Por exemplo, se quisermos digitar
keyboard
- Começamos
k
de graça. e
está logo acima,k
então não precisamos seguir em frente.y
está todo o caminho para a esquerda, portanto não há necessidade de se mover para a direita.b
no entanto, está na próxima coluna à direita, por isso precisamos avançar para a direita.o
está na próxima coluna, então precisamos mover para a direita para chegar a ela.a
está de volta na primeira coluna, então movemos para a esquerda para chegar a ela.r
está todo o caminho certo, então vamos direto para ele.d
são duas colunas à esquerda dar
coluna.
Os caracteres que precisam se mover para a direita bor
significam que isso é frustração 3.
Regras adicionais
Este é um desafio de código-golfe , para que suas respostas sejam pontuadas em bytes, com menos bytes sendo melhores. A entrada sempre consistirá em caracteres alfanuméricos, você poderá suportar letras maiúsculas ou minúsculas e precisará apenas de uma. A entrada nunca estará vazia.
Casos de teste
keyboard -> 3
2001aspaceodyssey -> 6
sorrytobotheryou -> 8
thinblueline -> 5
blast2 -> 3
90 -> 1
"blast2" -> 3
(não é um filme real, mas algumas respostas têm problemas com esses casos de teste)