문제

팰린드롬수 백준 1259번


리뷰

수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다.

121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다.


% 연산으로 숫자를 벡터에 숫자 한 개씩 넣는다.

가운데 인덱스를 기준으로 양끝 숫자를 비교한다.


맞은 코드

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int n;

int main(void){

    while(1){
        vector<int> v;
        string st = "yes";
        int len = 0;

        cin >> n;
        if(n==0) break; // 프로그램 종료 

        while(n > 0){
            v.push_back(n % 10); // 한 개씩 벡터에 넣는다     
            n /= 10;
            len++;
        }

        len--;

        for(int i = 0; i <= len/2; i++){ // 가운데 인덱스를 기준으로 양끝 숫자를 비교
            if(v[i] != v[len-i]) st = "no";
        }
        cout << st << '\n';

    }

    return 0;
} 

728x90

+ Recent posts