문제 정리
1. 문자열을 입력받는다.
2. 입력받은 문자열이 팰린드롬인지 확인하여 맞으면 1 아니면 0을 출력한다.

https://www.acmicpc.net/problem/10988
문제 해결 전략
1. 문자열을 string으로 입력받는다.
2. 문자열의 사이즈에서 하나를 뺀 값으로 문자열의 마지막을 가리키는 번호로 인덱싱한다.
3. 문자열의 길이만큼 반복문을 실행한다.
4. 2에서 알아낸 값으로 맨 뒤에서부터 추적, i값으로 앞에서부터 추적
5. 같으면 계속해서 boolean값인 result를 true로 해둔다.
6. 다를 경우 result를 false로 하고 바로 반복문을 탈출한다.
7. 반복문을 통해 i는 증가 end_char 값은 감소
8. i의 값을 2로 나누었을 때 몫으로 1이 나온다면 중간까지 온 것이기 때문에 break
9. result값으로 1과 0을 판단하여 출력
#include <iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
string s;
cin >> s;
int end_char = s.size() - 1;
bool result;
for (int i = 0; i < s.size(); i++) {
if (i / 2 == 1)
break;
if (s[i] == s[end_char])
result = true;
else {
result = false;
break;
}
end_char--;
}
if (result == true)
cout << "1" << "\n";
else
cout << "0" << "\n";
}
소감
문제 해결 전략이 길어서 어려웠던 것 처럼 보이지만 엄청나게 쉬운 난이도의 문제다.
사실 더 쉽게 풀 수 있는데 이 때 당시에는 초반 문제들이 너무 쉬워서 하루 2문제가 아니라 5,6 문제씩 풀다보니 그냥 타임어택처럼 풀었던 것 같다.
어쨌든 문자열을 다루는 문제지만 굉장히 쉬웠던 문제
코테에도 이런 문제만 나왔으면 좋겠다 .. !