자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
3진법으로 변환한 수를 거꾸로, 뒤집은 이후에 10진법으로 변환하는 문제.
결론적으로, 다음과 같이 진행했다.
1. 리스트를 생성해, n을 3으로 나눈 나머지를 추가한다.
2. n이 0보다 큰 동안 나누고 나머지를 추가하는 과정을 계속 반복한다.
3. 리스트에는 역순으로 정렬된 3진법의 각 자릿수가 저장된다.
4. 10진법으로 변환한다.
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
List<Integer> list_arr = new ArrayList<>();
while(n>0){
list_arr.add(n%3);
n = n/3;
}
for (int i = 0; i < list_arr.size(); i++) {
answer = answer*3 + list_arr.get(i);
}
return answer;
}
}