공부/백준

백준 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미만이 되는 순간 비교 할 이유가 없으므로 반복문을 종료합니다.