class Solution {
public int solution(int n) {
int answer = 1;
for (int i = 3; i <= n; i += 2) {
boolean prime = true;
for (int j = 3; j <= Math.sqrt(i); j += 2) {
if (i % j == 0) {
prime = false;
break;
}
}
if (prime) answer++;
}
return answer;
}
}
소수 판별하는데 걸리는 시간을 줄이기위해 Math.sqrt(i)까지만 돌고 홀수만 체크했다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges