문제설명

 

소스코드

#include<iostream>
using namespace std;
int main() 
{
	string input;
	cin >> input;
	for (int i = 0; i < input.length() / 2; ++i)
	{
		if (input[i] != input[input.length() - 1 - i])
		{
			cout << 0;
			return 0;
		}
	}
	cout << 1;
}

 

풀이

  • 문자열의 길이가 7이라고 한다면 0번째 인덱스와 6번째 인덱스, 1번째 인덱스와 5번째 인덱스... 이렇게 비교하면 된다.
  • for문은 0부터 문자열 길이의 / 2 까지만 반복하면된다. ex) i = 7 -> 3번 반복, i = 8 -> 4번 반복
  • input[input.length() - 1 - i] 이부분은 i가 증가할 수록 문자열 인덱스의 끝에서 점점 인덱스의 가운데를 비교하게 한다.