알파벳 A
, B
, C
로 구성된 문자열 가 있을 때, 가 AA
, BB
, CC
만을 이어 붙여서
만들어진 경우 를 짝 맞는 문자열이라고 부른다. 예를 들어, AACCAA
, BBCCBB
등은 짝 맞는 문자열이다. 하지만 AAA
, BABA
등은 짝 맞는 문자열이 아니다.
특별히, 길이가 인 문자열은 짝 맞는 문자열이다.
알파벳 A
, B
, C
로 구성된 길이 인 문자열이 주어질 때, 문자열의 일부 문자들을
제거해서 만들 수 있는 가장 긴 짝 맞는 문자열을 찾는 프로그램을 작성하시오.
예를 들어, 주어진 문자열이 ABACA
라고 하면, 이 문자열에서 B
와 C
를
제거하고 A
들 중 하나를 제거하면 문자열 AA
가 된다. 이 경우가 가장 긴
짝 맞는 문자열을 만드는 방법이다.
첫 줄에 알파벳 A
, B
, C
로 구성된 길이 인 문자열이 주어진다.
()
주어진 문자열의 일부 문자들을 제거해서 만들 수 있는 가장 긴 짝 맞는 문자열의 길이를 출력한다.
ABACA
2
CAB
0
ABBACBCCABCCBAB
8
예제 1에서, 중간의 BAC
를 제거하면 AA
가 남는다.
예제 2에서, 모든 문자를 제거해서 길이가 0인 문자열을 만드는 방법밖에 없다.
예제 3에서, 만들 수 있는 가장 긴 짝 맞는 문자열은 BBCCCCBB
이다.
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 31점
입력 문자열은 A
로만 구성된다.
종류 2: 27점
입력 문자열은 A
와 B
로만 구성된다.
종류 3: 42점
추가적인 제한 조건이 없음.