카테고리 없음
백준 1259번 "팰린드롬수" --- c++
고딩프로그래머
2024. 2. 28. 21:07
728x90
안녕하세요! 오늘은 백준 1259번 "팰린드롬수" 문제를 풀어보겠습니다.
문제 설명
- 양의 정수 X가 주어졌을 때, X가 팰린드롬인지 아닌지 판별하는 프로그램을 작성하시오.
입력
- 입력으로 양의 정수 X가 주어진다. (1 ≤ X < 100,000,000)
출력
- X가 팰린드롬 수이면 'yes', 아니면 'no'를 출력한다.
풀이 방법
이 문제 제목은 "팰린드롬수"입니다. 주어진 수가 팰린드롬수인지 판별하는 것이 목표입니다.
입력으로는 여러 개의 테스트 케이스가 주어지며, 각 줄마다 1 이상 99999 이하의 정수가 주어집니다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않습니다.
이 문제를 해결하는 가장 간단한 방법은 주어진 수를 문자열로 변환한 후, 문자열을 뒤집어서 원래의 수와 비교하는 것입니다. C++에서는 편리하게 문자열을 다룰 수 있는 기능을 제공합니다.
아래는 이 문제를 해결할 수 있는 C++ 코드입니다:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string num;
while (true) {
cin >> num;
if (num == "0") {
break;
}
string reversedNum = num;
reverse(reversedNum.begin(), reversedNum.end());
if (num == reversedNum) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
}
return 0;
}
이 코드는 입력으로 받은 수를 문자열로 저장한 후, 문자열을 뒤집어서 원래의 수와 비교합니다. 만약 뒤집은 문자열과 원래의 문자열이 같다면 "yes"를 출력하고, 그렇지 않다면 "no"를 출력합니다. 이렇게 간단한 방법으로 주어진 수가 팰린드롬수인지 판별할 수 있습니다.
728x90