공부 정리/프로그래머스

[프로그래머스] 자바 3진법 뒤집기

경적필패. 2022. 1. 14. 11:35
반응형

문제

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

제한사항

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


접근

핵심

1. 10진법 -> n진법 가는방식 이해하기

2. StringBuilder사용하기


코드

import java.util.*;

class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp = "";
        StringBuilder sb = new StringBuilder();
        while(n/3 > 0){
            temp = n%3 + temp;
            n /= 3;            
        }
        temp = n + temp;
        sb.append(temp);
        sb.reverse();
        int mul = 1;
        for(int i=sb.length()-1; i>=0; i--){
            answer += (sb.charAt(i) -'0') * mul;
            mul *= 3;
        }
        return answer;
    }
}

주의

x

 

반응형