[프로그래머스] 124 나라의 숫자 (자바스크립트/javascript/js)
2021. 6. 24. 14:39ㆍFront-end/알고리즘
728x90
반응형
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12899?language=javascript#
문제를 풀기 위한 아이디어
124 나라에서는 1 →1, 2 → 2, 3 → 4 인 것을 생각하고 풀어야 한다.
주어진 수를 우선 3으로 나눈다.
이 때 3으로 나누어 떨어지는 수는 몫에서 -1을 하고 나머지를 3으로 두어야 한다.
그렇게 해서 나눈 몫과 나머지가 1,2,3이 될 때까지 재귀함수를 돌려서 문자열로 합쳐주면 된다.
function solution(n) {
const getOneTwoFourNumber = (number) => {
let numberString = "";
let quotient = Math.floor(number / 3);
let remainder = Math.floor(number % 3);
if (remainder === 0) {
quotient = quotient - 1;
remainder = 3;
}
if (quotient === 0) {
switch (number) {
case 1:
return 1;
case 2:
return 2;
case 3:
return 4;
}
} else {
quotient = getOneTwoFourNumber(quotient);
remainder = getOneTwoFourNumber(remainder);
}
numberString = String(quotient) + String(remainder);
return numberString;
};
let answer = String(getOneTwoFourNumber(n));
return answer;
}
console.log(solution(100));
728x90
반응형
'Front-end > 알고리즘' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (자바스크립트/javascript/js) (0) | 2021.06.24 |
---|---|
[프로그래머스] 오픈채팅방 (자바스크립트/js/javascript) (0) | 2021.06.24 |
[프로그래머스] 문자열 압축 (자바스크립트/ javascript/ js) (0) | 2021.06.23 |
[프로그래머스] 구명보트 (자바스크립트/ javascript/ js) (0) | 2021.06.23 |
[프로그래머스] 타겟 넘버 (자바스크립트/javascript/js) (0) | 2021.06.23 |