프로그래머스 코딩테스트연습 3진법 뒤집기

김영신·2022년 4월 14일
0

class Solution {
    public int solution(int n) {
        var str = "";
        while(true){
            if(n < 3) {
                str = n + str;
                break;
            }
            str = (n % 3) + str;
            n = n / 3;
        }

        var reverse_char = new char[str.length()];
        for (int i = 0; i < str.length(); i++) {
            var lastIndex = str.length() - 1;
            reverse_char[i] = str.charAt(lastIndex - i);
        }
        str = new String(reverse_char);
        System.out.println(str);
        int x = 0;
        int sum = 0;
        for (int i = str.length() - 1; i >= 0; i--) {
            sum += Integer.parseInt(str.substring(i, i+1)) * (int) Math.pow(3, x++);
        }
        System.out.println(sum);
        return sum;
    }
}

옛날에 진법 만드는 공식을 까먹어서 오래걸렸다.

특별히 설명할건 Math.pow(밑, 지수) 밖에 없는 것 같다.
2 ^ 3 을 원한다면 Math.pow(2,3) 이런 형식으로 쓰면 된다.

profile
어제보다 오늘 더 Developer

0개의 댓글

관련 채용 정보