πŸ“¦ Chango/🍣 EDOC

[BOJ][C++] λ°±μ€€ 1259번: νŒ°λ¦°λ“œλ‘¬μˆ˜

선달 2021. 9. 6. 09:33
λ°˜μ‘ν˜•

https://www.acmicpc.net/problem/1259

 

1259번: νŒ°λ¦°λ“œλ‘¬μˆ˜

μž…λ ₯은 μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 있으며, 각 μ€„λ§ˆλ‹€ 1 이상 99999 μ΄ν•˜μ˜ μ •μˆ˜κ°€ 주어진닀. μž…λ ₯의 λ§ˆμ§€λ§‰ μ€„μ—λŠ” 0이 주어지며, 이 쀄은 λ¬Έμ œμ— ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.

www.acmicpc.net

 

문제

μ–΄λ–€ 단어λ₯Ό λ’€μ—μ„œλΆ€ν„° 읽어도 λ˜‘κ°™λ‹€λ©΄ κ·Έ 단어λ₯Ό νŒ°λ¦°λ“œλ‘¬μ΄λΌκ³  ν•œλ‹€. 'radar', 'sees'λŠ” νŒ°λ¦°λ“œλ‘¬μ΄λ‹€.

μˆ˜λ„ νŒ°λ¦°λ“œλ‘¬μœΌλ‘œ μ·¨κΈ‰ν•  수 μžˆλ‹€. 수의 μˆ«μžλ“€μ„ λ’€μ—μ„œλΆ€ν„° 읽어도 κ°™λ‹€λ©΄ κ·Έ μˆ˜λŠ” νŒ°λ¦°λ“œλ‘¬μˆ˜λ‹€. 121, 12421 등은 νŒ°λ¦°λ“œλ‘¬μˆ˜λ‹€. 123, 1231은 λ’€μ—μ„œλΆ€ν„° 읽으면 λ‹€λ₯΄λ―€λ‘œ νŒ°λ¦°λ“œλ‘¬μˆ˜κ°€ μ•„λ‹ˆλ‹€. λ˜ν•œ 10도 νŒ°λ¦°λ“œλ‘¬μˆ˜κ°€ μ•„λ‹Œλ°, μ•žμ— λ¬΄μ˜λ―Έν•œ 0이 올 수 μžˆλ‹€λ©΄ 010이 λ˜μ–΄ νŒ°λ¦°λ“œλ‘¬μˆ˜λ‘œ μ·¨κΈ‰ν•  μˆ˜λ„ μžˆμ§€λ§Œ, νŠΉλ³„νžˆ 이번 λ¬Έμ œμ—μ„œλŠ” λ¬΄μ˜λ―Έν•œ 0이 μ•žμ— 올 수 μ—†λ‹€κ³  ν•˜μž.

μž…λ ₯

μž…λ ₯은 μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 있으며, 각 μ€„λ§ˆλ‹€ 1 이상 99999 μ΄ν•˜μ˜ μ •μˆ˜κ°€ 주어진닀. μž…λ ₯의 λ§ˆμ§€λ§‰ μ€„μ—λŠ” 0이 주어지며, 이 쀄은 λ¬Έμ œμ— ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯

각 μ€„λ§ˆλ‹€ 주어진 μˆ˜κ°€ νŒ°λ¦°λ“œλ‘¬μˆ˜λ©΄ 'yes', μ•„λ‹ˆλ©΄ 'no'λ₯Ό 좜λ ₯ν•œλ‹€.

 

풀이

#include <iostream>
#include <vector>

using namespace std;

bool Palindrome (int n) {
    int tmp = 0, divisor = 10;
    vector<int> v;
    
    //각 자리수 벑터에 λ„£κΈ°
    while(true){
        tmp = n % divisor;
        if(tmp == n){
            v.push_back(tmp / (divisor/10));
            break;
        }
        v.push_back(tmp / (divisor/10));
        divisor *= 10;
    }
        
    //ν•΄λ‹Ή λ²‘ν„°μ˜ i번째 μˆ«μžμ™€ λ§ˆμ§€λ§‰μ—μ„œ i번째 μˆ«μžκ°€ λ‹€λ₯΄λ©΄ false
    for(int i=0; i<v.size(); i++){
        if(v[i] != v[v.size()-1-i])
            return false;
    }
    
    //λ‹€ κ°™μœΌλ©΄ true
    return true;
}

int main() {
    while(true){
        int n;
        cin >> n;
        
        if(n==0){
            break;
        }
        else if(Palindrome(n)){
            cout << "yes\n";
        }
        else{
            cout << "no\n";
        }
    }
    return 0;
}
λ°˜μ‘ν˜•