개발공부/코딩테스트 연습문제

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

ku-na 2022. 1. 10. 11:41

뮨제 설명과 제한사항

풀이

class Solution {
    public int solution(int n) {
        String ternary = "";
        
        while(n > 0) {
            ternary = ternary + (n%3);
            n = n/3;
        }
    
        return Integer.parseInt(ternary,3);
    }
}

++

 10진법 -> 3진법 : n을 3으로 나눈 나머지값을 순차적으로 문자열에 추가하면 3진법의 역순이 된다.

ternary = ternary + (n%3); 3진법 역순 <-> ternary = (n%3) + ternary; 3진법

 

 Interger.parseInt(String a) : a 문자열을 정수형으로 반환

 Interger.parseInt(String a, int b) : a 문자열을 b진수의 정수형 으로 반환

그래서 3진법으로 표현된 ternary가 3진수 정수형으로 반환됐다.