소문자로만 이루어진 문자열이 하나 주어진다. 다음 두 단계를 거쳐 대문자로만 이루어진 문장을 만든다.
- 문자열에서 원하는 문자를 제거한다. 제거하는 문자의 개수에는 제한이 없고, 제거할 문자가 서로 인접하지 않아도 되며, 하나도 제거하지 않을 수도 있다.
- 남은 문자열을 앞에서부터 세 개씩 끊어 읽는다. 각 묶음은 같은 문자 세 개여야 하고, 묶음마다 같은 알파벳의 대문자 한 개로 바꾼다.
두 번째 단계가 가능하려면 남은 문자열이 같은 문자 세 개짜리 묶음이 이어 붙은 형태여야 한다. 완성된 문장에는 대문자가 한 개 이상 들어간다.
예를 들어 bbcccaabbba에서는 다음 다섯 개의 문장을 만든다.
- aaa만 남기면 A가 된다.
- bbb만 남기면 B가 된다.
- ccc만 남기면 C가 된다.
- cccaaa만 남기면 CA가 된다.
- cccbbb만 남기면 CB가 된다.
제거하는 방법이 서로 달라도 결과 문장이 같으면 하나로 센다. 만들 수 있는 서로 다른 문장의 개수를 구하시오.