공부/백준

백준 10988번: 팰린드롬인지 확인하기(C++)

상연 2020. 12. 9. 23:15

목차

www.acmicpc.net/problem/10988

 

10988번: 팰린드롬인지 확인하기

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

코드

#include <iostream>
#include <time.h>
using namespace std;


int main() {
	string s;
	cin >> s;
	int len = s.length();
	int f = 0, b = len-1;
	while(len >= 2){
		if(s[f] != s[b]) {
			cout << 0;
			return 0;}
		len -= 2;
		f += 1;
		b -= 1;
	}
	cout << 1;
	return 0;
}

 

풀이

입력받은 단어의 길이를 측정하고

그에따른 단어의 맨 앞 Index와 맨 뒤 Index를 정해줍니다.

그리고 그 두 개의 Index에 있는 char 문자를 비교하며, len의 길이를 2씩 줄여줍니다.

줄여나가다가 남은 길이가 2미만이 되는 순간 비교 할 이유가 없으므로 반복문을 종료합니다.