본문 바로가기

Programmers/Level1

3진법 뒤집기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
    public long solution(long n) {
        long answer = 0;
        
        long res = 0, ex = 1;
        while (n > 0) {
            res = res * 10 + n % 3;
            n /= 3;
        }
        while (res > 0) {
            answer += res % 10 * ex;
            res /= 10;
            ex *= 3;
        }
        return answer;
    }
}
cs

자리 수가 커지면 에러가 나서 long형으로 선언하였다.

String형일 경우 Long.parseLong(Long.toString(res),3)으로 손쉽게 3진수로 변형할 수도 있다.

'Programmers > Level1' 카테고리의 다른 글

로또의 최고 순위와 최저 순위  (0) 2021.07.02
실패율  (0) 2021.07.02
두 개 뽑아서 더하기  (0) 2021.06.30
[1차] 비밀지도  (0) 2021.06.30
같은 숫자는 싫어  (0) 2021.06.29