[Javascript : programmers] 소인수분해 (Lv.0)
문제
나의 정답 풀이
function solution(n) {
let arr = [];
let div = 2;
while(n>=2){
if(n%div==0){
arr.push(div);
n /= div;
}else div++;
}
return [...new Set(arr)];
}
while문으로 n을 계속 2부터 시작하는 div로 나누는 것이 핵심이다.
이렇게 나눠서 나머지가 0이 되는 div를 계속해서 배열에 넣고 아니면 div를 늘린다.
이렇게 반복이 끝난 배열을 중복이 없는 Set 컬렉션으로 걸러 반환한다.
'Javascript > 자바스크립트 문제' 카테고리의 다른 글
[Javascript : programmers] 잘라서 배열로 저장하기 (Lv.0) (0) | 2024.08.27 |
---|---|
[Javascript : programmers] 이진수 더하기 (Lv.0) ft.진수변환 💥 (0) | 2024.08.27 |
[Javascript : programmers] 컨트롤 제트 (Lv.0) (0) | 2024.08.27 |
[Javascript : programmers] 리스트 자르기 (Lv.0) (0) | 2024.08.27 |
[Javascript : programmers] 2의 영역 (Lv.0) (0) | 2024.08.27 |