시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 15 11 7 87.500%

문제

종수는 아두이노 프로젝트에 사용할 도트 매트릭스 프린터를 하나 구매했다. 오랜 시간동안 아두이노와 프린터 사이의 통신을 연구하고 구현한 결과 프린터에 세 가지 명령을 내릴 수 있게 되었다.

  • SET(X): 프린터의 주 메모리에 글자 X를 저장한다.
  • NEXT(X): 프린터의 보조 메모리에 글자 X를 저장한다.
  • WRITE: 주 메모리에 저장되있는 글자를 인쇄한다. 바로 이전에 사용한 명령이 NEXT인 경우에는 보조 메모리에 저장된 글자를 출력한다.

예를 들어, "AABAA"를 출력하려면 아래와 같은 명령 8개를 입력하면 된다.

SET(A), WRITE, WRITE, SET(B), WRITE, SET(A), WRITE, WRITE. 

NEXT를 사용하면 7개로 인쇄할 수 있다.

SET(A), WRITE, WRITE, NEXT(B), WRITE, WRITE, WRITE. 

알파벳 대문자로만 이루어진 단어가 주어졌을 때, 이 단어를 출력하는데 필요한 명령 개수의 최소값을 구하는 프로그램을 작성하시오.

첫 번째 명령은 반드시 SET이어야 한다.

입력

첫째 줄에 인쇄해야하는 단어가 주어진다. 단어는 알파벳 대문자로만 이루어져 있으며, 길이는 10,000을 넘지 않는다. 

출력

입력으로 주어진 단어를 출력하는데 필요한 명령 개수의 최소값을 출력한다.

예제 입력

BABCBACA

예제 출력

13

힌트

SET(B), WRITE, NEXT(A), WRITE, WRITE, NEXT(C), WRITE, WRITE, SET(A), WRITE, NEXT(C), WRITE, WRITE.