[프로그래머스LV0_자바스크립트]합성수 찾기

Hyoyoung Kim·2023년 5월 24일
0

프로그래머스 레벨0

목록 보기
13/28

합성수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/120846

문제 설명

약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.

입출력 예시

내 코드

function solution(n) {
    var answer = 0;
    let count =0
    for(let i=0;i<=n;i++){
        count=0
        for(let j=1;j<=i;j++){
            if(i%j===0){
                count++
            }
        }
        if(3<=count) answer++
    }
    return answer;
}

console.log(solution(10))
console.log(solution(15))

코드 풀이

//약수의 개수가 3개 이상인 숫자를 합성수라고 한다. 
//약수 : 어떤 정수를 나머지 없이 나눌 수 있는 정수
// 4의 약수는 1, 2, 4가 있다.

function solution(n) {
// answer-> 합성수
    var answer = 0;
// count -> 약수의 개수
    let count =0
// 1. n의 길이만큼 i를 증가시켜서 ex. 4
    for(let i=0;i<=n;i++){
        count=0
// 2. i의 길이만큼 j를 반복하여
        for(let j=1;j<=i;j++){
// 3. i를 j로 나눴을때 나머지가 0이면 
            if(i%j===0){
// 4. count를 1씩 올렸다.
                count++
            }
        }
// 5. count의 크기가 3이상이면 answer에 1씩 더해줬다. 
        if(3<=count) answer++
    }
    return answer;
}

console.log(solution(10))
console.log(solution(15))

0개의 댓글