ALGORITHM/BOJ

[BOJ] 15927번 회문은 회문아니야!! (C++)

yegyeom 2021. 12. 27. 13:21

문제 (https://www.acmicpc.net/problem/15927)

 

15927번: 회문은 회문아니야!!

팰린드롬이란 앞으로 읽으나 뒤로 읽으나 같은 문자열을 말한다. 팰린드롬의 예시로 POP, ABBA 등이 있고, 팰린드롬이 아닌 것의 예시로 ABCA, PALINDROME 등이 있다. 같은 의미를 가지는 여러 단어들을

www.acmicpc.net

알파벳 대문자로 이루어진 문자열이 주어졌을 때, 팰린드롬이 아닌 가장 긴 부분 문자열의 길이를 구하는 문제.

예제를 보면 바로 파악이 가능한데, 케이스를 3가지로 나눌 수 있다.

 

1. 팰린드롬 O / 문자열의 모든 문자가 같은 문자인 경우 => -1

2. 팰린드롬 O / 문자열의 모든 문자가 같지 않은 경우 => 문자열의 길이 - 1

3. 팰린드롬 X => 문자열의 길이

 

위와 같이 3가지로 나누어지므로 먼저 팰린드롬인지를 검사하고, 각각에 맞게 조건문을 구현했다.


[소스코드]