반응형
문제 설명
나의 풀이
function solution(n) {
let answer = [];
let divisor = 2;
while (n >= 2) {
if (n % divisor === 0) {
answer.push(divisor)
n = n / divisor;
}
else divisor ++;
}
return [...new Set(answer)];
}
while 문을 사용하여, divisor 값으로 나눴을때 나머지가 0이되는 값들을 answer 배열에 집어넣어주었다.
마지막에 중복된 값을 삭제하기위해, ...new Set을 이용했다.
다른 사람의 풀이
가독성이 좋아서 가져왔다. 접근방식은 비슷했다.
function solution(n) {
var answer = [];
for(let i = 2; i <= n; i++) {
while (n % i === 0) {
n = n / i;
answer.push(i);
}
}
return [...new Set(answer)];
}
반응형
'Javascript > 코딩테스트-연습' 카테고리의 다른 글
[JavaScript] 인덱스 바꾸기 - 프로그래머스 (26) | 2024.04.01 |
---|---|
[JavaScript] 문자열 계산하기 - 프로그래머스 (21) | 2024.03.30 |
[JavaScript] 배열 회전 시키기 - 프로그래머스 (24) | 2024.03.28 |
[JavaScript] 2차원으로 만들기 - 프로그래머스 (24) | 2024.03.26 |
[JavaScript] 구슬을 나누는 경우의 수 - 프로그래머스 (32) | 2024.03.26 |