https://school.programmers.co.kr/learn/courses/30/lessons/120852#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(n)
{
var answer = [];
for(i=2; i<=n; i++) // i<n으로 적었다 낭패봄. i<=n으로 적어야 함
{
while(n%i==0) // 주어진 n을 i로 나눈다. 그리고 i로 나눠떨어진다면
{
answer.push(i); // i를 answer라는 배열에 넣는다
n=n/i; // n을 i로 나눈 몫을 n으로 교체해준다.
} // 루프는 i가 n으로 나눠떨어지지 않으면 바로 종료된다.
}
answer = answer.filter((wonso, index) => answer.indexOf(wonso) == index);
// 중복되는 원소를 삭제해준다.
answer = answer.sort((a,b)=>a-b);
// 순서대로 정렬해준다.
if (answer.length==0){answer=[n]}
// answer의 길이가 0이라면 n이 소수란거니까 answer에 n(자기 자신)을 넣어준다.
return answer;
}
'코딩테스트 > LV. 0' 카테고리의 다른 글
LV0 :: 진료 순서 정하기 (0) | 2023.10.12 |
---|---|
LV. 0 :: 한 번만 등장한 문자 (0) | 2023.01.26 |
LV. 0 :: 중복된 문자 제거 (0) | 2023.01.26 |
LV. 0 :: 이진수 더하기 (0) | 2023.01.26 |
LV. 0 :: 모스부호 (1) (0) | 2023.01.26 |
댓글