(프로그래머) Ternary Reversal Java

문제 설명

자연수 n이 매개변수로 주어진다. 3진법에서 n을 앞뒤로 뒤집은 후, 10진법으로 표현된 숫자를 다시 반환하는 풀이 함수를 완성하십시오.

제한

  • n은 1 이상 100,000,000 이하의 자연수이다.

I/O 예시

N 결과
45 7
125 229

통과된 코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        String numStr="";
        int num=0;
        
        while(true){
            if(n<=0){
                break;
            }
            num=n%3;
            numStr+=String.valueOf(num); //3으로 나눈 나머지를 numStr에 더해주기 
            n/=3;
        }
        
        int idx=1; // 제곱수를 나타내는 변수 
        for(int i=numStr.length()-1; i>=0; i--){
            answer+= Character.getNumericValue(numStr.charAt(i))*idx; 
            idx*=3;
        }
        return answer;
    }
}