문제풀이/백준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;
}
반응형