본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 58 - 합성수 찾기)

728x90

 

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



# 답안

// 1. 입력: n -> 자연수 1,2,3 같은거
// 2. 출력: n 이하의 합성수 개수
// 약수의 개수 구하기
// 반복문 돌릴건데, 1,2,3 하나씩 순회하면서 n까지 확인할건데, 
// ex. 6의 약수는 i에 1,2,3 넣어가면서 n%i == 0 인거
// 반복문 안에 반복문 넣기

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

 

 

728x90