백준 11005 진법 변환 2 C++

2023. 9. 29. 14:25알고리즘

이 문제 역시 간단한 구현 문제였다.

아스키코드 표가 잘 기억나지 않아서 스트링으로 변환해야하는숫자들을 담아놨다. 

 

N진법으로 나타내는 방법은, 숫자를 N으로 나눈 다음에 나머지를 역순으로 읽으면 되기 때문에 c++에서 제공해주는 스택 라이브러리를 사용했다.

N으로 나눈 다음에 반대방향으로 읽었다.

이렇게 하니 정답코드가나왔당

#include <iostream>
#include <stack>


using namespace std;

int N, B;

stack<char> s;
string convert = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

int main(void){
    cin.tie(NULL);
    ios::sync_with_stdio(false);
    cin>>N>>B;
    /*
    10이면 A, 11이면 B, 이런식으로출력이되어야한다
    */
    while (N){
        char x;
        x=convert[N%B];
        s.push(x);
        N=N/B;
    }

    while (!s.empty()){
        cout<<s.top();
        s.pop();
    }
    cout<<endl;
    return 0;
}

'알고리즘' 카테고리의 다른 글

백준 균형잡힌 세상 C++  (0) 2023.09.29
프로그래머스 단어퍼즐 c++  (0) 2023.09.29
백준 1913 C++  (0) 2023.09.29
프로그래머스 가장 큰 수 C++  (0) 2023.09.21
프로그래머스 연속 부분 수열 합의 개수 C++  (0) 2023.09.18