문제
https://school.programmers.co.kr/learn/courses/30/lessons/120852
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
배열을 돌면서 몫으로 나눴을때 나머지가 0으로 떨어지는 애만 while 문을 타며 arr 배열에 추가한다.
배열에 추가한 후, n의 값은 n/i 로 변경한다. (기존 소인수 분해 방식과 동일)
다음으로 반복문이 끝나고 얻은 배열을 Set 기능을 사용해 중복을 제거한 집합으로 만들고 다시 배열로 풀어 넣어준다.
function solution(n) {
var arr = [];
for (var i = 2; i <= n; i++) {
while (n % i === 0) {
arr.push(i);
n = n / i;
}
}
return [...new Set(arr)];
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 조건 문자열 (0) | 2024.02.17 |
---|---|
프로그래머스, 자바스크립트) 잘라서 배열로 저장하기 (0) | 2024.02.13 |
프로그래머스, 자바스크립트) 문자열 계산하기 (0) | 2024.01.28 |
프로그래머스, 자바스크립트) 로그인 성공? (0) | 2024.01.24 |
프로그래머스, 자바스크립트) 문자 개수 세기 (0) | 2024.01.23 |