반응형
01-11 11:16
Today
Total
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
관리 메뉴

개발하는 고라니

[Programmers] 124 나라의 숫자 본문

Programming/프로그래머스

[Programmers] 124 나라의 숫자

조용한고라니 2021. 5. 10. 00:07
반응형
 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr


[3진수]

10진수를 3진수로 바꾸는 것인데, 3을 모두 4로 바꾸면 된다. 효율성을 체크하는 문제이므로 String을 사용하여 "+"를 쓰면 통과하지 못할 듯 하다.

 

그러므로 StringBuilder를 써서 문자를 붙여주도록 하자.

18(3)
18 / 1 = 18 % 3 = 0 -> 3
15 / 3 = 5 % 3 = 2
9 / 9 = 1 % 3 = 1

# Code </>

class Solution {
    public String solution(int n) {

        StringBuilder sb = new StringBuilder();
        int div = 1;

        while(true){
            int mok = n / div;

            if(mok == 0) break;

            int remain = mok % 3;

            if(remain == 0) remain = 3;

            n -= (remain * div);
            div *= 3;

            sb.insert(0, remain == 3? 4 : remain);
        }

        return sb.toString();
    }
}
반응형
Comments