본문 바로가기
Javascript/자바스크립트 문제

[Javascript : programmers] 소인수분해 (Lv.0)

by isfp_yykkng 2024. 8. 27.

[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 컬렉션으로 걸러 반환한다.