문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
class Solution {
public int solution(int n) {
int answer = 0;
StringBuilder nStrBuilder = new StringBuilder();
while(n / 3 != 0) {
nStrBuilder.append(n % 3);
n /= 3;
}
nStrBuilder.append(n);
String nStr = nStrBuilder.toString();
int pow = 0;
for(int i = nStr.length()-1; i >= 0; i--) {
answer += (int)Math.pow(3, pow++) * (nStr.charAt(i) - '0');
}
return answer;
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/68935