본문으로 바로가기
728x90
반응형

문제

 

 

반응형

풀이

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
    public int solution(int n) {
        int answer = 2;
        boolean prime = true;
        
        if(n==2 || n==3) {                  //n이 2 or 3이면        
            return 1;                       //소수
        }
        
        for (int i = 5; i <= n; i+=2) {     //5부터 n 까지 2씩 증가시키면서 소수인지 확인, 짝수는 절대로 소수가 아니므로
            for (int j = 2; j <= Math.sqrt(i); j++) {   //2부터 i의 제곱근까지 
                if (i % j == 0) {                       //약수가 있는지 확인
                    prime = false;
                    break;
                }
            }
            if (prime == true)
                answer++;
            prime = true;
        }
        return answer;
    }
}
cs
728x90
반응형