programmers

[JAVA] ☆ 3진법 뒤집기

아잠만_ 2024. 7. 16. 14:12

문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.

풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp = "";
        String a = Integer.toString(n,3);
        int size = a.length();
        for(int i=size-1; i>=0; i--){
            temp += ""+a.charAt(i);
        }
        return Integer.parseInt(temp,3);
    }
}

풀이2 - StringBuffer로 reverse

class Solution {
    public int solution(int n) {
        String a = Integer.toString(n,3);
        StringBuffer sb = new StringBuffer(a);
        return Integer.parseInt(sb.reverse().toString(),3);
    }
}