본문 바로가기

프로그래머스(Java)/Level 0

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

728x90

코드 힌트

  1. 4부터 n까지의 숫자에 대해 반복문을 실행합니다.
    • 4부터 시작하는 이유: 1은 약수가 없고, 2와 3은 약수가 2개뿐이기 때문에 합성수 조건에 맞지 않습니다.
    • 만약 n이 1부터 3 사이의 값이라면, 자연스럽게 반복문이 실행되지 않아 0을 반환하게 됩니다.
  2. 각 숫자 i에 대해 2부터 i-1까지의 숫자로 나누어 나머지가 0인 경우를 찾습니다.
    • 1과 i는 이미 해당 수의 약수이므로 확인할 필요가 없습니다.

 


정답은 더보기 클릭

더보기
class Solution {
    public int solution(int n) {
        int result = 0; // 합성수의 개수를 저장할 변수 초기화
        
        // 4부터 n까지의 숫자에 대해 반복문을 실행합니다.
        for (int i = 4; i <= n; i++) {
            // 각 숫자 i에 대해 2부터 i-1까지의 숫자로 나누어 나머지가 0인 경우를 찾습니다.
            for (int j = 2; j < i; j++) {
                if (i % j == 0) { // i가 j로 나누어 떨어지면
                    result++; // 합성수이므로 결과 값 증가
                    break; // 더 이상 검사할 필요 없이 다음 숫자로 이동
                }
            }
        }
        
        return result; // 합성수의 총 개수를 반환
    }
}
728x90