만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쿼티 자판 손 바꿈 횟수

면접 대비

시간 제한8초메모리 제한512 MB

요약
종료를 뜻하는 '#'이 나올 때까지 각 소문자 문자열마다 표준 QWERTY 배열에서 연속한 두 문자가 서로 다른 손으로 입력되는 횟수를 센다.
난이도

쉬움10점 중 3점

유형
구현, 문자열, 시뮬레이션
정답자
아직 제출이 없습니다

문제

ACM-ICPC를 사랑하는 사람이라면 누구나 손에서 목이 나올 만큼 갈망하는 것, 그것이 Accepted다. 줄여서 AC. 하지만 사실 이것이 통하는 사람은 극히 일부뿐이고, 일반적으로는 "koukyoukoukokukikou"의 약칭에 지나지 않는다.

그런데 일반적인 키보드 배열(그림 A-1)을 QWERTY 배열이라고 부르는 것과 달리, 그와는 다른 Dvorak 배열이라는 키 배열도 고안되어 있다. Dvorak 배열에서는 자주 쓰는 키가 홈 포지션에 있으므로 더 빠르게 타이핑할 수 있다고 T 씨(가칭)는 강하게 주장한다.

그림 A-1 QWERTY 배열

그 T 씨(가칭)는 이 문자열을 보다가 한 가지 사실을 깨달았다. "koukyoukoukokukikou"는 Dvorak 배열을 쓰면 한 손만으로 타이핑할 수 있다는 것이다. 그러나 동시에 안타까운 사실도 깨달았다. QWERTY 배열로도 한 손만으로 타이핑할 수 있다는 것이다.

T 씨(가칭)는 Dvorak 배열을 쓰면 한 손만으로 타이핑할 수 있는 다른 문자열이 없는지 궁금해졌다. 다만 가능하면 QWERTY 배열을 썼을 때에는 한 손만으로 타이핑할 수 없기를 바랐다. 그래서 각 문자열에 대해, QWERTY 배열로 문자를 타이핑할 때 사용하는 손이 바뀌는 횟수를 구하는 프로그램을 만들기로 했다. 그러고 보니 T 씨(가칭)는 QWERTY 배열을 거의 잊어버린 상태였다. 대신 프로그램을 작성해 주기로 하자.

QWERTY 배열에서 각 키가 왼손과 오른손 중 어느 쪽으로 타이핑되는지 헷갈릴 때는 아래 그림 A-2를 참고하면 된다.

그림 A-2 각 손으로 타이핑하는 범위

입력

입력은 각 줄에 타이핑하는 손이 바뀌는 횟수를 세어야 할 문자열이 하나씩 들어 있다. 문자열은 알파벳 소문자로만 이루어져 있고 32자 이하이다. 입력의 끝은 "#"만으로 이루어진 줄로 표시된다. 이 "#"은 세어야 할 문자열이 아니다.

출력

입력된 각 문자열에 대해 정수를 하나씩 각 줄에 출력한다. 출력해야 할 정수는 QWERTY 배열을 사용했을 때 문자를 타이핑하는 손이 바뀌는 횟수이다. 출력에 불필요한 문자를 포함해서는 안 된다.

예제1

  1. 예제 1

    입력
    koukyoukoukokukikou
    abrakadabra
    acmicpc
    japaque
    helloworld
    #
    
    예상 출력
    0
    2
    4
    5
    7