~๋ชฉ์ฐจ~
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/12921
๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ
- 2์ค for๋ฌธ์ ์ด์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ํด๊ฒฐ๊ฐ๋ฅํ ๋ฌธ์ ์ด์ง๋ง ํ์ต ๊ฒธ '์๋ผํ ์คํ ๋ค์ค์ ์ฒด' ๊ฐ๋ ์ ์ฌ์ฉํ์ฌ ํ์ดํ๋ค.
- ์์๋ฅผ ์ฐพ์ผ๋ฉด ํด๋น ์์ ๋ฐฐ์๋ ๋ชจ๋ ์์๊ฐ ์๋๋ค.
- boolean ๋ฐฐ์ด์ n+2(0๊ณผ n ํฌํจ) ์ ์ธํ์ฌ ์์๋ฅผ ๋ง๋ ๋๋ง๋ค ๋ฐฐ์๋ฅผ true ์ฒ๋ฆฌ ํ๋ค.
- ๋ฐฐ์ด์์ false์ ์ธ๋ฑ์ค๊ฐ ์์์ด๋ค.
ํ์ด์ฌ์ผ๋ก ์ ๋ฆฌํ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด(๊ณจ๋ ๋ฐํ์ ์ถ์ธก) ์๋ ๊ธ์ ์ฐธ๊ณ ํ์ธ์!
์์ฑ ์ฝ๋
์๋ผํ ์คํ ๋ค์ค์ ์ฒด
class Solution {
public int solution(int n) {
boolean[] tf = new boolean[n+2];
int answer = 0;
for(int i=2; i<n+1; i++){
if(!tf[i]){
answer++;
for(int j=i*2; j<n+1; j+=i)
tf[j] = true;
}
}
return answer;
}
}
๋ค๋ฅธ ํ์ด
import java.lang.Math;
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=2; i<n+1; i++){
boolean flag = false;
for(int j=2; j<=Math.sqrt(i); j++){ // i์ ์ ๊ณฑ๊ทผ๊น์ง๋ง ํ์ธํด๋ ๋จ
if(i % j == 0){
flag = true;
break;
}
}
if(!flag)
answer++;
}
return answer;
}
}
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐
'๐๋ฌธ์ ํ์ด > ๐งฉProgrammers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ํ๋ก๊ทธ๋๋จธ์ค N์ผ๋ก ํํ | DP (0) | 2023.05.15 |
---|---|
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ | HashMap | HashSet (0) | 2023.05.06 |
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ๋ชจ์๊ณ ์ฌ | ArrayList | Math (0) | 2023.05.06 |
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ํฌ์ผ๋ชฌ | HashSet (0) | 2023.05.05 |
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ์ถ์ต ์ ์ | HashMap (0) | 2023.05.05 |