C++:: 프로그래머스 < 3진법 뒤집기 >

jahlee·2023년 4월 26일
0

프로그래머스_Lv.1

목록 보기
25/75
post-thumbnail

3진법으로 변환하는 과정에서 변환되어진 수가 정수형들의 범위보다 클수있어서 문자열 그대로 다시 변환해주어야한다.

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

int solution(int n)
{
    int answer = 0, cnt=0;
    string s = "";
    while (n > 0)
    {
        s.push_back((n % 3) + '0');//이렇게 넣으면 애초에 뒤집어진 형태로 들어가진다.
        n /= 3; cnt++;
    }
    for(int i=0;i<s.size();i++)
        answer += (s[i] - '0')*(int)pow(3,s.size()-i-1);
    return answer;
}

0개의 댓글