[ 문제 설명 ]
자연수 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;
}
}