티스토리 뷰
728x90
문제 링크
https://www.acmicpc.net/problem/15927
어려워 보였는데 https://blog.naver.com/pasdfq 이 블로그 운영하시는 분이 큰 힌트를 주셔서 쉽게 풀었다.
매우 간단한데, 다음의 케이스만 보면 된다.
1) 문자열 전체가 회문이 아니면 답은 문자열의 길이이다.
2) 문자열 전체가 회문이다.
2-1) 문자열 전체가 모두 같은 문자일 때 팰린드롬이 아닌 부분 문자열이 존재하지 않으므로 답은 -1이다.
2-2) 위의 상황이 아니라면, 처음 또는 끝의 문자 하나만 제외한 문자열은 팰린드롬이 아니게 된다.
따라서 답은 (원래 문자열의 길이 - 1)이다.
정답 코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <string> | |
using namespace std; | |
string s; | |
int main() { | |
ios_base::sync_with_stdio(false); | |
cin.tie(0); | |
cin >> s; | |
bool a = false; | |
for (int i = 0; i < s.size() / 2; i++) { | |
if (s[i] != s[s.size() - i - 1]) { | |
cout << s.length(); | |
return 0; | |
} | |
else if (s[i] != s[i + 1]) | |
a = true; | |
} | |
if (a) cout << s.length() - 1; | |
else cout << -1; | |
} |
질문 및 피드백 환영합니다.
728x90
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[BOJ] 백준 15892 사탕 줍는 로봇 (0) | 2018.07.26 |
---|---|
[BOJ] 백준 15923 욱제는 건축왕이야!! (0) | 2018.07.26 |
[BOJ] 백준 15926 현욱은 괄호왕이야!! (2) | 2018.07.25 |
[BOJ] 백준 15925 욱제는 정치쟁이야!! (2) | 2018.07.25 |
[BOJ] 백준 15924 욱제는 사과팬이야!! (0) | 2018.07.25 |