Algorithm/BOJ

백준 1259번 C++

poopooreum 2023. 7. 22. 16:34
반응형

백준 1259번 펠린드롬
https://www.acmicpc.net/problem/1259

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net



정답 코드

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstring>
using namespace std;
char str[6];
void abc() {
	int len1 = strlen(str);
	char str2[6];
	strcpy(str2, str);
	for (int x = 0; x < len1 / 2; x++)
		swap(str[x], str[len1 - 1 - x]);
	if (strcmp(str, str2) == 0)
		cout << "yes" << endl;
	else
		cout << "no" << endl;

}
int main() {
	while (1) {
		cin >> str;
		if (strcmp(str, "0") == 0)
			break;
		else
			abc();
	}
}


문제 풀이
문자열의 길이를 구한 후, 시작점부터 길이의 반까지 for문을 돌려서 맨 앞쪽부터 차례대로 맨 뒤에부터 차례대로 문자를 바꿔준 후 strcmp함수를 이용해서 같은지 확인하면 풀 수 있습니다.

반응형