https://programmers.co.kr/learn/courses/30/lessons/68935
📒 문제
📒 코드
import java.util.ArrayList;
import java.util.List;
class Solution {
public int solution(int n) {
int answer = 0;
List<Double> list = new ArrayList<>();
if(n<3) answer = n;
else {
while (n / 3 > 0) {
list.add((double) n % 3);
n = n / 3;
if (n < 3) list.add((double) n);
}
for (int i = 0; i < list.size(); i++) {
answer += (int) (list.get(list.size() - 1 - i) * (Math.pow(3, i)));
}
}
return answer;
}
}
💡 정리하기
👉 한 개의 테스트케이스만 실패가 떴었는데, 3보다 작은 수를 생각하지 못했었다. Math.pow는 입출력값이 모두 double형이다.