[프로그래머스] 124 나라의 숫자 (javascript)
728x90
반응형
나머지가 0 일 때 4가 붙고 1일 때 1, 2일때 2가 붙는 것을 규칙성으로 알 수 있다.
몫이 문제인데 3의 배수가 예외를 만든다. 3의 몫이 1인데 0인 그룹에 넣고 싶고 6의 몫이 2인데 1인 그룹에 들어가야
규칙에 맞다.
1~3의 수의 경우 몫이 0이고 4~6은 몫이 1, 7~9는 몫이 2으로 만들고 싶다.
그렇게 하려면 각 수에서 1을 빼고 나눠주면 된다. (n-1)/3
숫자 | 몫 | 나머지 |
1 | 0 | 1 |
2 | 0 | 2 |
3 | 1 | 0 |
4 | 1 | 1 |
5 | 1 | 2 |
6 | 2 | 0 |
function solution(n) {
var answer = '';
while(n>0){
if(n%3==0){
answer='4'+answer;
n=n/3-1;
}else if(n%3==1){
answer='1'+answer;
n=Math.floor(n/3);
}else{
answer='2'+answer;
n=Math.floor(n/3);
}
}
return answer;
}
더 나은 풀이
function solution(n) {
var answer = '';
const arr=['4','1','2'];
while(n>0){
answer=arr[n%3]+answer;
n=Math.floor((n-1)/3);
}
return answer;
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (javascript) (0) | 2021.01.22 |
---|---|
[프로그래머스] 문자열 압축 (javascript) (0) | 2021.01.21 |
[프로그래머스] 스킬트리 (javascript) (0) | 2021.01.21 |
[프로그래머스] 삼각 달팽이 (javascript) (0) | 2021.01.21 |
[프로그래머스] 다리를 지나는 트럭 (javascript) (0) | 2021.01.20 |
TAGS.