Lv.1 3진법 뒤집기

서현우·2022년 5월 10일
0

알고리즘 풀이

목록 보기
30/31

문제 설명

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

제한사항

n은 1 이상 100,000,000 이하인 자연수입니다.

내 풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        //1. n을 3진수로 변환
        String trit = Integer.toString(n,3);
        
        //2. 3진수를 앞뒤반전
        String tritReverse = "";
        char[] chArr = trit.toCharArray();
            	
		for(int i=0;i<chArr.length/2;i++) {
			char tmp = chArr[i];
			chArr[i] = chArr[chArr.length-1-i];
			chArr[chArr.length-1-i] = tmp;	
		}
        tritReverse = new String(chArr);
        	
        //3. 10진수로 표현
        int decimal = Integer.parseInt(tritReverse,3);
        return answer = decimal;
    }
}
profile
안녕하세요!!

0개의 댓글