만드는 중입니다

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

텍스트 입력

면접 대비

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

요약
QWERTY 키보드로 문자열을 입력할 때, 시프트 키를 여러 글자에 걸쳐 누르는 방식으로 필요한 최소 키 입력 횟수를 구합니다.
난이도

쉬움10점 중 3점

유형
동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

로만 사이온(Роман Сайонис)이 할리 퀸에게 보낼 협박 편지를 쓰고 있다. 그는 단순한 텍스트 편집기와 일반 QWERTY 키보드를 쓴다.

편지에는 영어 대소문자, 숫자, 기호 ,, ., !, ?, \$, (, )와 공백이 쓰인다. 편집기는 현재 메시지의 끝에 글자를 한 개씩만 덧붙인다. 같은 글자를 여러 번 연달아 써도 글자마다 키를 다시 눌러야 한다. 글자를 입력하는 키 말고는 shift 키를 필요할 때만 쓴다. 대문자와 !, ?, \$, (, )는 shift를 누른 상태에서 입력한다. 공백은 shift를 누르거나 누르지 않고 입력할 수 있다. 그 밖의 문자는 shift를 누르지 않은 상태에서 입력해야 한다.

로만은 서두르고 있어서 키를 최소한으로 누르며 메시지를 입력하려 한다. 시간을 아끼려고 shift를 누른 채 여러 글자를 입력한 뒤 떼도 된다. 이때 shift 누르기는 한 번으로 센다. 로만이 눌러야 하는 키의 최소 횟수를 구하라.

입력

첫째 줄에 로만의 텍스트 글자 수를 나타내는 정수 nn이 주어진다 (1≤n≤10 0001 \le n \le 10\,000).

둘째 줄에는 길이가 nn인 문자열이 주어진다. 문자열은 영어 대소문자, 숫자, 기호 ,, ., !, ?, \$, (, )와 공백으로 이루어져 있다.

출력

로만이 눌러야 하는 키의 최소 횟수를 한 줄에 출력한다.

예제4

  1. 예제 1

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

    입력
    8
    How r u?
    
    예상 출력
    10
    
  3. 예제 3

    입력
    32
    You owe me $100 (Im looking 4 u)
    
    예상 출력
    36
    
  4. 예제 4

    입력
    8
    Mm? Okay
    
    예상 출력
    10