본문 바로가기
Algorithm/문제풀이

[프로그래머스] 124 나라의 숫자(LV.2) by javascript - 연습문제

by 썸머워즈 2022. 5. 13.
반응형

▷ 문제 : 연습문제 - 124 나라의 숫자 LV.2

 

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

 

programmers.co.kr

▷ 해결 날짜 : 2022.05.13
▷ 소요 시간 : 30분
▷ 풀이 과정 :

 

문제가 매우 심플하다.

124라는 숫자만 사용할 수 있으며,

특정 숫자를 입력받았을 때 124라는 숫자만 사용하여 표출하면 된다.

  • 1 > 1,
  • 2 > 2,
  • 3 > 4,
  • 4 > 11,
  • 5 > 12,
  • 6 > 14
  • 7 > 21

간단해보여도 이 문제는 효율성을 체크하는 문제라 규칙을 찾아서 푸는 게 중요하다.

결국 규칙은 124 3개의 숫자로 이루어져 있기 때문에 숫자 3을 가지고 규칙을 찾을 수가 있는데,

나머지와 몫을 가지고 문제를 풀 수 있다.

 

 

▷ 구현

function solution(n) {
    let answer = '';
    while(n > 0){
        const [quotient, remainder] = [n / 3, n % 3];
        answer = (remainder ? remainder : 4) + answer;
        n = Math.floor(remainder ? quotient : quotient - 1);
    }
    return answer;
}


▷ 복기 :

와... 이 문제는 문제를 풀고나서 다른 사람의 풀이를 꼭 살펴보길 바란다.

다른 사람 풀이중에 재귀 함수로 한 줄로 푼 사람이 있는데 아주 기가 막힌다.

반응형


댓글

TOP