Algorithm/프로그래머스

[프로그래머스] 합성수 찾기 (Java)

Carroti 2022. 10. 20. 12:50

 

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

알고리즘

 

 

풀이

합성수는 소수가 아닌 수로, 1과 자기 자신이 아닌 다른 약수가 있다면 합성수이다.

따라서 1부터 n까지, 각 수에 i에 대해

2부터 i-1까지의 수 중 나누어떨어지는 수가 있다면 합성수이므로 answer를 1 증가시킨다.

 

 

코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i=1; i<=n; i++) {
            for(int j=2; j<i; j++) {
                if(i%j == 0) {
                    answer++;
                    break;
                }
            }
        }
        return answer;
    }
}