백준 문제풀이
1259 번 : 팰린드롬수
하다블
2022. 5. 12. 18:20
반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/1259
1259번: 팰린드롬수
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
www.acmicpc.net
풀이 코드는 다음과 같습니다.
#include <iostream>
#include <string>
using namespace std;
int main(void) {
while(1)
{
string s;
cin>>s;
if(s=="0")
{
break;
}
else
{
bool check{true};
for(int i{0};i<s.size()/2;i++)
{
if(s[i]!=s[s.size()-1-i])
{
check=false;
break;
}
}
if(check)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
}
}
return 0;
}
0을 입력받을 때 까지 입력받는 방법은 while을 무한루프를 걸어 0을 입력받을 때만 break로 무한루프를 나올 수 있도록 하였습니다.
또한 숫자를 int 나 long long 형으로 받지 않고 string으로 받았는데 이는 문자열로 받아 길이를 바로 사용하고 각각의 자리를 비교해야하기 때문에 문자열로 받는 것이 더 편하다고 생각하여 string을 사용하였습니다.
string을 사용하면 어렵지 않게 해결할 수 있는 문제라고 생각합니다.
반응형