2022-01-06


📌 フリップバイナリ(プログラマ1級)
フリップバイナリ(プログラマ1級)
百草
class Solution {
    public int solution(int n) {

        if(n<3) return n;

        int count = 0;  // 배열 자리수
        
        int answer = 0;
        
        while(n - Math.pow(3, count) >= 0) count++; // 3진법 자리수 구하기
        
        int[] arr = new int[count]; 
        
        int index = arr.length-1;
        
        while(n>0) {
            
            arr[index--] = n%3;  // 3진법의 순서를 뒤집어 배열에 넣기
            
            n/=3;
            
        }
        
        for(int i=0; i<arr.length; i++) 
        	answer += Math.pow(3, i) * arr[i];  // 10진법으로 변환
        
        return answer;
        
    }
}
見習う
class Solution {
    public int solution(int n) {
        
        String ternary = Integer.toString(n, 3);
        
        String reTernary = new StringBuilder(ternary).reverse().toString();
        
        return Integer.parseInt(reTernary, 3);

    }
}