C++/programmers 코딩테스트(level 1) C++

[C/C++] programmers Level 1 3진법 뒤집기

CE : 하랑 2023. 10. 4. 09:20

 

 

 

 

코드

 

#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;
    int num=1;
    vector<int> num3;
    
    while(n){ // 10진법 -> 3진법으로 변환 num에 자리별 저장
        num3.push_back(n%3);
        n=n/3;
    }
    
    for(int i = num3.size() - 1; i >= 0; i--) // 역순 후 3진법 -> 10진법 계산
    { 
        answer=answer+num3[i] * num;
        num=num*3;
    }
    
    return answer;
}