[프로그래머스] 124 나라의 숫자 (자바스크립트/javascript/js)

2021. 6. 24. 14:39Front-end/알고리즘

728x90
반응형

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12899?language=javascript# 

 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

 

 

문제를 풀기 위한 아이디어

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
반응형