3진법 뒤집기 Lv. 1

박영준·2022년 11월 23일
0

코딩테스트

목록 보기
31/300
class Solution {
    public int solution(int n) {
        int answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        //문자열로 만들어준다
		String s = "";
		
        //while 문에서 n이 0이 아닐때까지 반복 --> 이 방식을 사용하면 자동적으로 3진법은 뒤집어지므로, 따로 뒤집어줄 필요 없어짐
		while(n != 0) {
            //n을 3으로 나눈 나머지를 모두 더함 --> n이 45라면, s = "0021"이 된다(자동적으로 뒤집어진 상태. 원래는 "1200" 이 나와야했음)
			s += n % 3;
            //자연수 n 은 while 문 동안 계속해서 3으로 나눠준다
			n /= 3;
		}
		
        // 3진법(0021)의 문자열 S -> 10진법의 int 타입으로 변환
		return Integer.parseInt(s, 3);
	}
}
  • Integer.parseInt() : 문자열 String타입의 숫자를 int타입으로 변환

    • Integer.parseInt(s, 3) --> Integer.parseInt(진법으로 표현된 값이 존재하는 변수, 3)


3진법 뒤집기 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글