js/[문제풀이] programmers
[js] 약수 구하기_Divisor
우금붕
2023. 2. 15. 17:01
더보기

[사담]
뜬끔없이 문제를 풀다가.. 제 실력에 한탄하면서 기초부터 탄탄히 쌓고자 코딩테스트 입문 페이지에 들어갔는데요.

네 이거 보고 머쓱이 스탬프 받고 싶어서 10일간 하루 5문제 뿌시기 시작했습니다.
[문제 설명]
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
[제한사항]
- 1 ≤ n ≤ 10,000
[입출력 예]
n result
24 | [1, 2, 3, 4, 6, 8, 12, 24] |
29 | [1, 29] |
[입출력 예 설명]
입출력 예 #1
- 24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다.
입출력 예 #2
- 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.
[문제 풀이]
function solution(n) {
let answer = [];
for (var i=1; i<=n; i++){n%i === 0 ? answer.push(i) : 0;}
return answer;
}
[해설]
얼마 전에 이미 약수를 구하는 코드를 한 번 작성한 적이 있어서 금방 구현했네요.
1부터 n이 0으로 나누어떨어지는 숫자만 담안 배열을 return했습니다.
[느낀점]
문제 풀이 이후 다른 사람 풀이도 살펴보았는데, 코드는 간결하더라도 제 코드보다 시간 효율이 좋지 않아 첨부하지 않았습니다.
무작정 코드를 줄인다기보단 간결하고 가독성 좋고 효율 좋은 코드를 구현할 수 있도록 다양한 방법으로 도전해보겠습니다.
[github] - Divisor.js
https://github.com/yh725k/javascript.git
GitHub - yh725k/javascript
Contribute to yh725k/javascript development by creating an account on GitHub.
github.com