반응형
▷ 문제 : 연습문제 - 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;
}
▷ 복기 :
와... 이 문제는 문제를 풀고나서 다른 사람의 풀이를 꼭 살펴보길 바란다.
다른 사람 풀이중에 재귀 함수로 한 줄로 푼 사람이 있는데 아주 기가 막힌다.
반응형
댓글