10988 - 팰린드롬인지 확인하기

재찬·2023년 1월 3일
0

Algorithm

목록 보기
6/64

문제

코드

#include <bits/stdc++.h>
using namespace std;

int main(){
//	string s;
//	int size;
//		 
//	cin >> s;
//	size = s.size();
//	
//	for(int i = 0; i < size/2; i++){
//			if(s[size-i-1] != s[i]){
//				cout << "0";
//				return 0;
//			}	
//	}
//	cout << "1";
//	return 0;


string s;
string r;

cin >> r;
s = r;

reverse(r.begin(), r.end());

if(s == r){
	cout << "1";
}
else cout << "0";

return 0;
}

풀이

2가지 방법으로 풀어봤다. 하나는 c++ 라이브러리 함수인 reverse 함수를 이용한 것이고 하나는 문자열 자체를 평가한 방법이다. 주어진 문자열이 100자리가 한계이므로 시간 복잡도적인 차이는 안났다.
하지만 c++을 사용하는 이유인 다양한 라이브러리 함수 제공과 가독성을 감안하면 아래 풀이가 조금 더 맘에 든다.

결과

후기

생각보다 너무 생각을 해서 시간이 조금 소요됐던 문제이다.
문자를 몇개씩 추출해서 문자열에 넣고 비교를 해볼까 생각했었는데 갑자기 그냥 뒤집으면 될 것 같다는 생각이 들어서 금방 풀었다.
쉬운건 쉽게 생각하려고 해야겠다.

0개의 댓글