CS/프로그래머스

문제 // Programmers // LEVEL1 // Math // 소수찾기 // Java

문스코딩 2018. 9. 11. 19:54


프로그래머스

소수찾기

업데이트 :: 2018.09.11


문제

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.

소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)

제한 조건
n은 2이상 1000000이하의 자연수입니다.

코드

1차풀이

public class Programmers_11 {

    public int solution(int n) {
        // n range - 2 ~ 1,000,000

        int sumOfDecimal = 1; // == 2포함 ==

        // == 범위 : 3 ~ n ==
        outer:
        for(int i=3; i<=n; i++) {

            // == 범위 : 2 ~ i 제곱근 ==
            for(int j=2; j<=Math.sqrt(i); j++) {
                if(i % j == 0)
                    continue outer; // == 소수아님 ==
            }
            sumOfDecimal++;
        }
        return sumOfDecimal;
    }
}


Created by MoonsCoding

e-mail :: jm921106@gmail.com


반응형