해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
문자열을 왼쪽에서 오른쪽으로 읽은 결과와 오른쪽에서 왼쪽으로 읽은 결과가 같으면 그 문자열은 팰린드롬이다. 예를 들어 문자열 "kek", "abacaba", "r", "papicipap"은 팰린드롬이지만, 문자열 "abb"과 "iq"은 팰린드롬이 아니다.
문자열 s = … 의 부분 문자열 s[l … r] (1 ≤ l ≤ r ≤ |s|)은 문자열 … 이다.
Anna는 팰린드롬을 좋아하지 않아서 친구들에게 자신을 Ann이라고 부르게 한다. 또한 자신이 읽는 모든 단어를 비슷한 방식으로 바꾼다. 구체적으로, 각 단어 s을 팰린드롬이 아닌 가장 긴 부분 문자열로 바꾼다. s의 모든 부분 문자열이 팰린드롬이라면 그 단어를 아예 건너뛴다.
얼마 전 Ann은 단어 s를 읽었다. Ann이 이 단어를 무엇으로 바꾸었는가?
첫 번째 줄에 영어 소문자로만 이루어진, 길이가 최대 50자인 비어 있지 않은 문자열 s이 주어진다.
s에 팰린드롬이 아닌 부분 문자열이 존재한다면, 그러한 부분 문자열의 최대 길이를 출력한다. 그렇지 않으면 0을 출력한다.
팰린드롬이 아닌 가장 긴 부분 문자열은 여러 개일 수 있지만, 그 길이는 유일하다는 점에 유의한다.
qqqqqqqq
0
wuffuw
5
mew
3
"mew"은 팰린드롬이 아니므로, 이 문자열에서 팰린드롬이 아닌 가장 긴 부분 문자열은 "mew" 자기 자신이다. 따라서 첫 번째 예제의 답은 3이다.
문자열 "uffuw"은 문자열 "wuffuw"에서 팰린드롬이 아닌 가장 긴 부분 문자열(길이 5) 중 하나이므로, 두 번째 예제의 답은 5이다.
문자열 "qqqqqqqq"의 모든 부분 문자열은 같은 문자들로만 이루어져 있으므로 팰린드롬이다. 따라서 팰린드롬이 아닌 부분 문자열은 없다. 그러므로 세 번째 예제의 답은 0이다.