| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 157 | 65 | 40 | 36.364% |
왼쪽에서 오른쪽으로 읽은 결과와 오른쪽에서 왼쪽으로 읽은 결과가 동일한 문자열을 팰린드롬이라고 한다. 예를 들어, ABBA는 팰린드롬이고, PICKLE은 팰린드롬이 아니다.
민기는 어느 날 "꼬들꼬들한 꼬들꼬들"이라는 문자열을 봤는데, 공백을 제거하고 "꼬들"을 묶어서 하나로 생각하면 팰린드롬이 된다는 생각을 했다. 이것이 너무 감명 깊었던 민기는 이러한 분할을 팰린팰린분할이라고 정의하기로 결심했다. 구체적인 정의는 다음과 같다:
문자열 $S$가 있을 때, $S$를 비어 있지 않은 연속한 부분문자열 $K$개로 분할할 수 있다. 이때, 만약 1ドル\leq i \leq K $인 모든 $i$에 대해 $i$번째 부분문자열과 $K - i + 1$번째 부분문자열이 같다면, 그 분할 방법을 팰린팰린분할이라고 하자. 그리고, 분할된 $K$개의 부분문자열들의 길이의 최댓값을 팰린팰린분할의 크기라고 정의하자. 문자열 $S$의 모든 팰린팰린분할에 대하여, 팰린팰린분할의 크기의 최솟값이 $n$일 때, $S$를 $n$-팰린팰린드롬이라고 정의한다.
예를 들어, ABCDABC는 (ABC)(D)(ABC)와 같이 분할할 수 있고, 이때 부분문자열의 길이의 최댓값은 3ドル$이며, 크기가 2ドル$ 이하인 팰린팰린분할은 존재하지 않는다. 따라서 ABCDABC는 3ドル$-팰린팰린드롬이다.
민기의 정의를 토대로, 주어진 문자열이 $n$-팰린팰린드롬일 때, $n$의 값을 구해보자.
문자열 $S$가 주어진다. 이 문자열은 알파벳 대문자로만 이루어져 있다. (1ドル \leq |S| \leq 500,000円$)
문자열 $S$가 $n$-팰린팰린드롬일 때, $n$의 값을 출력하라.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 20 | $|S| \leq 500$ |
| 2 | 30 | $|S| \leq 5 ,円 000$ |
| 3 | 50 | 추가 제한 조건 없음 |
ABCAB
2
IAMCODER
8
EERTREE
1
$|S|$는 문자열 $S$의 길이를 의미한다.
School > 경기과학고등학교 > 나는코더다 반년대회 > 나는코더다 2025 반년대회 > Div.1 G번
School > 경기과학고등학교 > 나는코더다 반년대회 > 나는코더다 2025 반년대회 > Div.2 F번
School > 경기과학고등학교 > 나는코더다 반년대회 > 나는코더다 2025 반년대회 > Open Contest D번