알고리즘 코드카타(Java)

3진법 뒤집기

note994 2024. 8. 12. 10:44
class Solution {
    public int solution(int n) {
        long answer = 0L;
        int answer2=0;
        int tree=1;
        int num=1;
        Long treebin = 0L;
        String a;
        while(tree<n){
            tree*=3;
        }
        while(tree!=0){
            answer*=10;
            for(int i=0;i<2;i++){
                if(n-tree>=0){
                    n=n-tree;
                    answer++;
                }
                else{
                    break;
                }
            }
            tree = tree/3;
        }
        a = String.valueOf(answer);
        a = new StringBuilder(a).reverse().toString();
        treebin = Long.parseLong(a);
        while(treebin!=0){
            answer2 += num*(treebin%10);
            treebin=treebin/10;
            num=num*3;
        }
        
        return answer2;
    }
}

https://school.programmers.co.kr/learn/courses/30/lessons/68935#

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr