문제 & 예시
소스코드
// 소수 찾기
public class test20 {
public static void main(String[] args) {
Solution20 sol = new Solution20();
int n = 10;
System.out.println(sol.solution(n));
}
}
class Solution20 {
public int solution(int n) {
int answer = 0;
int list[] = new int[n + 1];
// list배열에 2부터 n까지의 수를 넣는다.
for(int i=2;i<=n;i++) {
list[i] = i;
}
for(int i=2;i<=n;i++) {
if(list[i]==0) continue;
// 2부터 시작해서 배수들을 0으로 만든다.
for(int j=2*i;j<=n;j +=i) {
list[j] = 0;
}
}
// list배열에서 0이 아닐때마다 answer의 카운트를 증가시켜준다.
for(int i=0;i<list.length;i++) {
if(list[i]!=0) {
++answer;
}
}
return answer;
}
}