124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.
1. 124 나라에는 자연수만 존재합니다. 2. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 3. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.
10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요.
n | result |
---|---|
1 | 1 |
2 | 2 |
3 | 4 |
4 | 11 |
public class Solution {
public String solution(int n) {
String answer = "";
int re = 0;
while (n!=0) {
re = n % 3;
n = n / 3;
if (re == 0) {
answer = "4" + answer;
n--;
}
else if (re == 1) {
answer = "1" + answer;
}
else if (re == 2) {
answer = "2" + answer;
}
}
return answer;
}
}
n
이 0이 아닌 경우에 while
문의 조건을 반복해준다. 여기서 re
라는 변수를 하나 만들어 주고, re
에는 n
을 3으로 나눈 나머지를 넣고 n
을 3으로 나누어준다. 왜냐면 이 문제는 4진법인데 그냥 3말고 4가 들어가는 것 뿐이라서 똑같이 계산해주면 된다. 다만, re
가 0 일때에는 n
을 1 감소시켜줘야한다.