알고리즘/프로그래머스 문제 풀이
[PG] 12899. 124 숫자의 나라
바켱서
2020. 10. 20. 22:46
https://programmers.co.kr/learn/courses/30/lessons/12899
접근 방법
문제를 자세히 보면 규칙을 찾을 수 있는? 그리고 진법에 대해 안다면 쉽게 풀 수 있는 문제이다.
124나라의 숫자는 오직 [ 1 , 2 , 4 ] 를 통해 숫자를 나타내기 때문에
1 -> 1 | 2 -> 2 | 3 -> 4 | 4 -> 11 | 5 -> 12 | 6 -> 14 | 7 -> 21
여기서 규칙을 찾아보면
- n의 숫자를 나눈 나머지를 파악한다. (n%3)
- if( n % 3 == 0 ) → 4의 숫자로 표현이 된다 . // 0 이라면 n 을 감소해줘야 한다!
- else → 나머지 숫자로 그대로 표현이 된다.
- 이제 n을 3으로 나눠준 몫을 가지고 다시 진행을 한다.
Need Know
- n진법?
전체 코드 ( Java )
class Solution {
public String solution(int n) {
StringBuilder sb = new StringBuilder();
while(n > 0){
int value = n%3;
if(value == 0) {
sb.insert(0,"4");
n --;
}
else sb.insert(0,value);
n /= 3;
}
return sb.toString();
}
}