[Programmers] 124 나라의 숫자

bin1225·2022년 12월 29일
0

Algorithm

목록 보기
9/42

n진수를 표현하는 매커니즘만 알았다면, 쉽게 풀 수 있는 문제였을텐데, 나는 그걸 몰랐다.

처음에는 수를 앞에서부터 차례대로 만드려니까
계속 복잡해져서 뭘 하고 있는지 헷갈리게 되고 다시 짜고를 반복하다가 그냥 다른 사람 풀이 참고했다..

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

string solution(int n) {
    string answer = "";
    while(n>0){
        
        int remain = n%3;
        
        if(n%3 ==0){
            answer = "4" + answer;
            n--;
        }
        else{
            answer = to_string(remain) + answer;
        }
        n/=3;
    }
    return answer;
}

n 진수를 표현하는 매커니즘은 결국 맨 뒤부터 채웠을 때, 나머지가 그 값이 되고 해당 수를 몫으로 업데이트 해주면 된다.

이 문제의 경우는 3진수를 베이스로 하지만 조금 달라서, 나머지가 0인 경우에 대해서만 컨트롤 해주면 되는 문제였다.

꽤 오래 고민했지만 그래도 n진수 표현방법에 대해서 익힐 수 있었다.

0개의 댓글