본문 바로가기

알고리즘 · 코딩

[프로그래머스] 3진법 뒤집기

문제 링크

programmers.co.kr/learn/courses/30/lessons/68935

 

코딩테스트 연습 - 3진법 뒤집기

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수

programmers.co.kr


C++ 풀이

#include <vector>
#include <cmath>
using namespace std;

int solution(int n) {
    vector <int> num;
    int answer = 0;
    while (n > 0) {
        num.push_back(n % 3);
        n /= 3;
    }
    int numSize = num.size();
    for (int i = 0; i < numSize; i++)
        answer += pow(3, numSize - i - 1) * num[i];
    return answer;
}

 

 

 

 

반응형