- 소수인지를 판단하는 boolean형의 flag 변수를 사용한다.
- 이중 반복문을 사용해서 i는 2부터 n까지 j는 2부터 i의 제곱근까지 i%j ==0이 참이면 소수가 아니므로 flag에 false를 대입한다.
- 반복문동안 flag가 true이면 answer를 1 증가시켜준다.
/*
* 프로그래머스 Lv1 - 소수 찾기
* 문제링크: https://programmers.co.kr/learn/courses/30/lessons/12921
*/
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=2; i<=n; i++){
boolean flag = true;
for(int j=2; j<=Math.sqrt(i); j++){
if(i%j == 0){
flag = false;
break;
}
}
if(flag == true)
answer++;
}
return answer;
}
}
소수 관련 문제들을 많이 풀어서 그런지 별 어려움 없이 쉽게 해결할 수 있었다.