알고리즘 풀이/프로그래머스
[level2] 프로그래머스 - 124 나라의 숫자
데롱디롱
2021. 9. 12. 01:44
728x90
[ 문제 풀이 ]
- [ 1, 2, 4 ]로만 숫자를 구성해야 한다.
=> 숫자 3가지만 사용하는 것이, 3진수를 사용하는 것과 같다.
- 숫자 3가지만 사용하는 것이, 3진수를 사용하는 것과 같다.
=> num[ "4", "1", "2"] 에서 해당 index로 접근하여 문자열에 더해준다.
N 3으로 나눈 나머지 3으로 나눈 몫
1 1 0
2 2 0
3 0 1 => 3으로 나누어 떨어지는 경우, 몫이 1개 더 생기기 때문에 빼준다!!!
0
4 1 1
5 2 1
6 0 2 => 3으로 나누어 떨어지는 경우, 몫이 1개 더 생기기 때문에 빼준다!!!
1
[ 전체 코드 ]
class Solution {
public String solution(int n) {
String answer = "";
String num[] = new String[] { "4", "1", "2" };
while (n != 0) {
answer = num[n % 3] + answer;
if (n % 3 == 0)
n -= 1;
n /= 3;
}
return answer;
}
}