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함수를 이용해서 같은지 확인하면 풀 수 있습니다.
반응형