문제풀이/백준oj
[백준OJ] 10988번 팰린드롬인지 확인하기
Hyeon-Uk
2021. 7. 18. 19:23
반응형
https://www.acmicpc.net/problem/10988
10988번: 팰린드롬인지 확인하기
첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
-풀이-
순서대로 읽었을때와, 반대로 읽었을때 모두 같은 문장이 되어야 한다는 의미는, 중간을 기준으로 좌 우가 대칭이여야 한다는 의미와 같다. 따라서 문자열의 좌,우가 대칭인지 판별을 해주면된다.
-시간복잡도-
문자열의 길이를 N이라고 한다면, O(N)이 된다.
-코드-
#include <iostream>
#include<vector>
#include<string>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string str;
cin >> str;
bool flag = true;
int len = str.size();
for (int i = 0; i < len; i++) {
if (str[i] != str[len - 1 - i]) {
flag = false;
break;
}
}
cout << flag;
return 0;
}
반응형