프로그래머스 Lv.1 코딩테스트

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

하다블 2022. 10. 7. 18:14
반응형

문제는 다음과 같습니다.

https://school.programmers.co.kr/learn/courses/30/lessons/68935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이 코드는 다음과 같습니다.

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

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

문제대로 3진수를 만든 후 뒤집어 10진수로 만드는 과정은 평범하게 3진수를 만드는 방법으로 나머지 연산자를 사용하고 이를 vector에 저장한 다음 10진수로 만들 때에는 vector를 반대로 읽으면서  변환해주었습니다.

반응형