도깨비불

시간 제한1초메모리 제한1024 MB

요약
영문 모드로 입력된 문자열을 한글 두벌식 규칙에 따라 조합하면서, 다음 글자의 초성이 될 자음이 현재 글자의 종성 자리로 먼저 붙는 도깨비불 현상이 몇 번 일어나는지 센다.
난이도

어려움10점 중 9점

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

문제

2-set and QWERTY keyboard

한글 두벌식 자판을 사용하다 보면, 다른 입력 방식에서는 찾아보기 힘든 도깨비불 현상이라는 특이한 현상을 경험할 수 있다. 예를 들어 “서강대학교”를 입력할 때 글쇠 입력 하나하나를 추적해 보자:

ㅅ
서
석
서가
서강
서강ㄷ
서강대
서강댛
서강대하
서강대학
서강대학ㄱ
서강대학교

“석” 에서 “서가”로 변할 때, 다음 글자의 초성이 될 자음이 입력하고 있는 글자의 종성 위치에 먼저 붙는 현상이 일어난다. 이를 ‘도깨비불 현상’이라고 한다.

“서강대학교”를 입력할 때는 도깨비불 현상이 2회 발생했다. 다른 예시도 보자.

입력영문 모드 입력도깨비불 횟수
이보세요dlqhtpdy3회
코딩하기 싫다zheldgkrl tlfgek2회
마춤뻐비 틀려써요akcnaQjql xmffuTjdy4회
  • 이보세요 : (“입” → “이보”), (“이봇” → “이보세”), (“이보셍” → “이보세요”)
  • 코딩하기 싫다 : (“콛” → “코딩”), (“코딩학” → “코딩하기”)
  • 마춤뻐비 틀려써요 : (“맟” → “마추”), (“마춤뻡” → “마춤뻐비”), (“마춤뻐비 틀렸” → “마춤뻐비 틀려써”), (“마춤뻐비 틀려썽” → “마춤뻐비 틀려써요”)

문자열이 주어지면 그 문자열을 키보드로 입력했을 때 도깨비불 현상의 횟수를 계산해보자.

입력

첫 번째 줄에 공백 문자( )와 완성형 한글들로 이루어진 한글 문자열을 영문 입력 모드에서 타이핑했을 때 입력되는 문자열이 주어진다. 문자열의 길이는 1 이상 104 이하이다.

출력

입력으로 주어진 문자열을 한글 입력 모드로 타이핑했을 때 발생하는 도깨비불 현상의 횟수를 출력하라.

힌트

초성ㄱㄲㄴㄷㄸㄹㅁㅂ
영문 입력rRseEfaq
초성ㅃㅅㅆㅇㅈㅉㅊㅋ
영문 입력QtTdwWcz
초성ㅌㅍㅎ
영문 입력xvg

 

중성ㅏㅐㅑㅒㅓㅔㅕㅖ
영문 입력koiOjpuP
중성ㅗㅘㅙㅚㅛㅜㅝㅞ
영문 입력hhkhohlynnjnp
중성ㅟㅠㅡㅢㅣ
영문 입력nlbmmll

 

종성ㄱㄲㄳㄴㄵㄶㄷㄹ
영문 입력rRrtsswsgef
종성ㄺㄻㄼㄽㄾㄿㅀㅁ
영문 입력frfafqftfxfvfga
종성ㅂㅄㅅㅆㅇㅈㅊㅋ
영문 입력qqttTdwcz
종성ㅌㅍㅎ
영문 입력xvg

 

입력 자판은 앞서 첨부한 두벌식 자판 이미지를 참고한다. (한글 자판은 두벌식, 영문 자판은 QWERTY이다.)

쌍자음 ᄁ, ㄸ, ㅃ, ㅆ, ㅉ은 각각 R, E, Q, T, W에 대응되며, rr, ee, qq, tt, ww와 같은 방법으로는 입력할 수 없다.

초성은 19개, 중성은 21개, 종성은 27개가 있다.

예제3

  1. 예제 1

    입력
    dlqhtpdy
    
    예상 출력
    3
    
  2. 예제 2

    입력
    zheldgkrl tlfgek
    
    예상 출력
    2
    
  3. 예제 3

    입력
    akcnaQjql xmffuTjdy
    
    예상 출력
    4