# 본인 코드

#include <bits/stdc++.h>
using namespace std;
string str;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    cin >> str;
    int value = str.size() % 2 == 0 ? str.size() / 2 - 1 : str.size() / 2;
    for (int i = 0; i < value; i++){
        if(str[i] != str[str.size() - 1 - i]){
            cout << 0 << "\n";
            return 0;
        }
    }


    if(str.length() == 2){
        cout << 0 << "\n";
        return 0;
    }
    cout << 1 << "\n";

    return 0;
}

94%에서 오류가 발생한다. 한글자 반례, 두글자 반례 모두 찾았는데 다른 반례는 못찾아서 답을 확인했음.

# 개선 코드

#include <bits/stdc++.h>
using namespace std;
string str, temp;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    cin >> str;
    reverse(temp.begin(), temp.end());

    if (temp == str){
        cout << 1 << "\n";
    } else {
        cout << 0 << "\n";
    }

    return 0;
}

문자열이 팰린드롬이라는 뜻은 뒤집은 문자열이 원래 문자열과 동일하다는 의미이므로, reverse문자열을 변수에 담아 서로 비교한다. string타입 비교는 단순하게 비교 연산자를 사용해도 된다.