알고리즘, 코딩테스트

[프로그래머스/ 코딩테스트 월간코드챌린지 시즌1] 3진법 뒤집기

jy3574 2024. 11. 20. 10:23

Q. 3진법 뒤집기

A.

class Solution {
    public int solution(int n) {
//3진법으로 변환한 것을 문자열로 저장하기 위해서 str 선언
        String str = "";
        
//3진법 변환
//3으로 나눈 나머지 값을 저장하면 자연스럽게 거꾸로 저장됨
//나머지를 문자열로 추가한 후에 다시 n에 3을 나눠서 몫으로 만들어줌
//n이 0이 되기전까지 반복 = 3진법으로 변환되면 종료
        while (n != 0){
            str += n % 3;
            n /= 3;
        }
        
//문자열 str을 3진법으로 해석하여 10진법으로 변환
        int answer = Integer.parseInt(str,3);
        return answer;
    }
}

*Integer.parseInt(str, radix)

-str : 변환할 숫자를 표현하는 문자열

-radix : 문자열의 숫자 체계(진법)을 나타냄

-문자열 str을 radix 진법으로 해석한 결과를 10진법 정수로 반환

 

ex. Integer.parseInt(str,2) => 2진법 문자열을 10진법 정수로 변환