[백준 c++] 10988 팰린드롬인지 확인하기

jw·2022년 2월 4일
0

백준

목록 보기
4/141
post-thumbnail

문제 설명

https://www.acmicpc.net/problem/10988
입력받은 단어가 앞으로 읽을 때와 거꾸로 읽을 때 똑같은지 판별하는 문제이다.

아이디어

처음 코드 짤 땐 for문을 통해 단어 스펠링 하나하나 살펴봤는데 굳이 그럴 필요없이 reverse를 써서 뒤집었을 때 두 단어가 똑같은지 확인하면 끝이다.


처음 코드

#include <iostream>
#include <algorithm>
#include<string>
using namespace std;
int main() {
	string s,temp;
	cin >> s;
	char p[100];
	int flag = 0;
	int k = 0;
	for (int i = s.length() - 1; i >= 0; i--) {
		p[k] = s[i];
		k++;
	}

	for (int i = 0; i < s.length(); i++) {
		if (s[i] != p[i]) {
			flag = 1;
			break;
		}
	}
	if (flag == 1) {
		cout << "0";
	}
	else {
		cout << "1";
	}
}

전체 코드

수정 후 코드

int main() {
	string s,temp;
	cin >> s;
	temp = s;
	reverse(temp.begin(), temp.end());
	if (temp == s)cout << 1 << "\n";
	else cout << 0 << "\n";
profile
다시태어나고싶어요

0개의 댓글