https://programmers.co.kr/learn/courses/30/lessons/12899
숫자가 1,2,4만 표현이 가능하니까 3진법을 계산할 때 0 자리에 4를 대신 넣어주었다.
근데 이렇게 하면 답이랑 다르게 나온다.
풀이를 좀 살펴보니 일단 0 대신 4를 넣어주고 n을 -1 감소시켜 주어야 한다.
그래야 1이 들어오면 0으로 만들어서 10(3진법인 경우)에서 1을 없애주고,
2가 들어오면 1로 만들어서 20(3진법인 경우)에서 2를 1로 만들어주고 이런 식으로 정답을 도출할 수가 있다.
class Solution {
public String solution(int n) {
StringBuilder answer = new StringBuilder();
int[] ints = {4, 1, 2};
while (n > 0) {
int position = n % 3;
n /= 3;
if (position == 0) {
System.out.println(n);
n --;
System.out.println(n);
}
answer.append(ints[position]);
}
return answer.reverse().toString();
}
}