반응형
반응형
프로그래머스 코딩테스트 124 나라의 숫자 : https://school.programmers.co.kr/learn/courses/30/lessons/12899
문제보기
124나라의 숫자 어떻게 풀어야할까?
자연수 n을 124 나라에서 사용하는 숫자로 바꾸는 문제를 해결하기 위해서는 아래와 같이 생각할 수 있어요.
124 나라에서는 1, 2, 4만 사용하므로 10진법 수를 3진법처럼 생각하여 변환해봅시다.
단, 3으로 나누어 떨어지는 경우 0 대신 4를 사용합니다.
따라서 while 문을 사용하여 n을 3으로 나눈 나머지에 따라 124 나라에서 사용하는 숫자로 변환합니다.
이때 3으로 나누어 떨어지는 경우 n을 1만큼 감소시키고 124 나라에서 사용하는 수에 따라 0 대신 4를 사용합니다.
자 여기까지 어느정도의 힌트를 드렸으니 혼자 풀어보실 의향이 있으시다면 풀어보시면 됩니다.
만약 정답을 보고싶으시다면 아래를 참고해주세요.
function solution(n) {
let answer = ''; // 변환한 124 나라에서 사용하는 숫자를 저장할 변수
while(n > 0){ // n이 0보다 크면 계속 반복
switch(n % 3){ // n을 3으로 나눈 나머지에 따라 분기 처리
case 1:
answer = '1' + answer; // 나머지가 1이면 1을 추가
n = Math.floor(n / 3); // n을 3으로 나눈 몫으로 업데이트
break;
case 2:
answer = '2' + answer; // 나머지가 2이면 2를 추가
n = Math.floor(n / 3); // n을 3으로 나눈 몫으로 업데이트
break;
case 0:
answer = '4' + answer; // 나머지가 0이면 4를 추가
n = Math.floor(n / 3) - 1; // n을 3으로 나눈 몫에서 1을 빼서 업데이트
break;
}
}
return answer; // 변환한 124 나라에서 사용하는 숫자를 반환
}
반응형
'알고리즘' 카테고리의 다른 글
[자바스크립트] 자바스크립트로 구구단 만들기 (0) | 2020.08.27 |
---|---|
[자바예제] 프로그래머스 코딩테스트 나누어떨어지는숫자배열 풀이 (0) | 2020.08.27 |
[자바예제] 프로그래머스 코딩테스트 같은숫자는싫어 풀이 (0) | 2020.08.27 |
[자바예제] 프로그래머스 코딩테스트 가운데글자가져오기 풀기 (0) | 2020.08.27 |
[자바예제] 프로그래머스 코딩테스트 2016년문제 풀기 (0) | 2020.08.27 |