๋ฐ์ํ
https://programmers.co.kr/learn/courses/30/lessons/12921
์ฝ๋
class Solution {
public int solution(int n) {
int answer = 1;
for(int i=3; i<=n; i++){
boolean flag = true;
for(int j=2; j<=Math.sqrt(i); j++){
if(i%j == 0){
flag = false;
break;
}
}
if(flag) answer ++;
}
return answer;
}
}
ํ์ด
๊ธฐ๋ณธ์ ์ธ ์์ ์ฐพ๊ธฐ ์ฝ๋.
2 ~ i์ ์ ๊ณฑ๊ทผ๊น์ง ๋ฐ๋ณตํ๋ฉฐ ๋๋์ด ๋จ์ด์ง๋ฉด ์์ X
์ฝ๋
class Solution {
public int solution(int n) {
int answer = 0;
boolean[] check = new boolean[n+1];
check[0] = check[1] = false;
for(int i=2; i<=n; i++) check[i] = true;
// i์ ๋ฐฐ์๋ค ์ ๋ถ ๊ฑฐ๋ฅด๊ธฐ(์์๊ฐ ์๋๋ฏ๋ก)
for(int i=2; i<=Math.sqrt(n); i++){
if(!check[i]) continue; // ์ด๋ฏธ ๊ฑธ๋ฌ์ง ์์ ๋ฐฐ์ - pass
for(int j=2; i*j<=n; j++) check[i*j] = false;
}
for(int i=2; i<=n; i++)
if(check[i]) answer ++;
return answer;
}
}
ํ์ด
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ฌ์ฉํ ์์ ์ฐพ๊ธฐ.
i์ ๋ฐฐ์๋ค์ ์ ๋ถ ๊ฑฐ๋ฅธ ํ ํ๋ณ.
์์ธํ ํ์ด - ์ฐธ๊ณ
๊ธฐ๋ณธ์ ์ธ ์์ ์ฐพ๊ธฐ ์ฝ๋
์๋ผํ ์คํ ๋ค์ค์ ์ฒด ์์ ์ฐพ๊ธฐ ์ฝ๋
ํจ์จ์ฑ ํ ์คํธ์์ ๊ฑฐ์ 10๋ฐฐ๊ฐ๋ ์ฐจ์ด๊ฐ ๋๋ค.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ์์ฐ (0) | 2020.03.08 |
---|---|
[Codeforces] 1285A: Mezo Playing Zoma (0) | 2020.03.08 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (0) | 2020.03.07 |
[๋ฐฑ์ค] 5052๋ฒ: ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2020.03.07 |
[Codeforces] 431A: Black Square (0) | 2020.03.07 |
๋๊ธ