KSA 문자열 2

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

요약
K, S, A로 이루어진 문자열이 주어질 때, 반복 패턴 KSA의 가장 긴 접두사로 바꾸기 위해 필요한 삭제와 맨 앞 이동의 최소 횟수를 구한다.
난이도

보통10점 중 7점

유형
그리디, 구현, 수학
정답자
아직 제출이 없습니다

문제

KSAAC 운영진은 모두 KSA를 사랑하기 때문에 다음 조건을 만족하는 문자열을 좋아한다.

문자열의 길이를 NN이라고 할 때, 1≤i≤N1 \leq i \leq N인 모든 ii에 대하여

  •  ii를 33으로 나눈 나머지가 11이면 ii번째 문자는 K이다.
  •  ii를 33으로 나눈 나머지가 22이면 ii번째 문자는 S이다.
  •  ii를 33으로 나눈 나머지가 00이면 ii번째 문자는 A이다.

빈 문자열 또한 KSAAC 운영진이 좋아하는 문자열이다.

문자열에는 다음 시행을 00회 이상 할 수 있으며 매회 둘 중 하나를 선택하여 시행할 수 있다.

  • 존재하는 아무 문자를 한 개 제거한다.
  • 존재하는 아무 문자 한 개를 맨 앞으로 옮긴다.

주어진 문자열 XX에 적절한 시행을 하여 XX를 가능한 최대 길이의 KSAAC 운영진이 좋아하는 문자열로 바꾸려고 한다. 이때 필요한 시행의 최소 횟수를 구하여라.

입력

첫 번째 줄에 문자열 XX가 주어진다.

출력

문자열 XX를 가능한 최대 길이의 KSAAC 운영진이 좋아하는 문자열로 바꾸기 위한 최소 시행 횟수를 출력한다.

제한

  •  1≤∣X∣≤5×1051 \le |X| \le 5 \times 10^5 
  •  X\_i \in \\{  K ,,  S ,,  A  \\}

예제1

  1. 예제 1

    입력
    KAKSK
    
    예상 출력
    3