[프로그래머스] Lv.0 합성수 찾기.java

김엄지·2024년 4월 26일

알고리즘

목록 보기
64/90

문제 설명

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

제한사항

  • 1 ≤ n ≤ 100

입출력의 예

문제 풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1; i <= n; i++) {
            int count = 0;
            for(int j = 1; j <= i; j++) {
                count += (i % j == 0) ? 1 : 0;
            }
            answer += (count >= 3) ? 1 : 0;
        }
        return answer;
    }
}
  1. 반복문으로 1부터 n까지의 자연수 중에서 합성수의 개수를 구한다.
  2. 약수의 개수를 count할 변수 초기화한다.
  3. 반복문으로 나누어 떨어지면 약수이기에 삼항연산자로 true면, count += 1 해준다.
  4. 약수의 개수가 세 개 이상면, answer += 1 해준다.
profile
나만의 무언가를 가진 프로그래머가 되자

0개의 댓글