본문으로 바로가기

[ 문제 설명 ]

자연수 n이 매개변수로 주어집니다.

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

 

[ 제한사항 ]

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

 

[ 입출력 예 ]

n result
45 7
125 229

 


import java.util.ArrayList;

class Solution {

    public int solution (int n) {
    
        ArrayList<Integer> al = new ArrayList<Integer>();
		int answer = 0;
		
        
        while (n != 0) { // 10진법 → 3진법 변환 후, 앞뒤 뒤집어서 저장
        	al.add(n % 3);
        	n /= 3;
        }
        
        
        for (int i = al.size() - 1; i >= 0; i--) // 3진법 → 10진법
        	answer += al.get(i) * (int)(Math.pow(3, al.size() - i - 1));

        
        return answer;
    }
}

'Algorithm > 백준+프로그래머스+SWEA+정올+구름' 카테고리의 다른 글

다트 게임  (0) 2021.04.25
예산  (0) 2021.04.25
동물 수 구하기  (0) 2021.04.25
주식가격  (0) 2021.04.24
비밀지도  (0) 2021.04.24