문제 (https://www.acmicpc.net/problem/15927)
알파벳 대문자로 이루어진 문자열이 주어졌을 때, 팰린드롬이 아닌 가장 긴 부분 문자열의 길이를 구하는 문제.
예제를 보면 바로 파악이 가능한데, 케이스를 3가지로 나눌 수 있다.
1. 팰린드롬 O / 문자열의 모든 문자가 같은 문자인 경우 => -1
2. 팰린드롬 O / 문자열의 모든 문자가 같지 않은 경우 => 문자열의 길이 - 1
3. 팰린드롬 X => 문자열의 길이
위와 같이 3가지로 나누어지므로 먼저 팰린드롬인지를 검사하고, 각각에 맞게 조건문을 구현했다.
[소스코드]
'ALGORITHM > BOJ' 카테고리의 다른 글
[BOJ] 1747번 소수&팰린드롬 (C++) (0) | 2021.12.27 |
---|---|
[BOJ] 1043번 거짓말 (C++) (0) | 2021.12.27 |
[BOJ] 7490번 0 만들기 (C++) (0) | 2021.12.21 |
[BOJ] 17070번 파이프 옮기기 1 (C++) (0) | 2021.12.21 |
[BOJ] 1477번 휴게소 세우기 (C++) (0) | 2021.12.21 |