๋ฌธ์ ์ค๋ช
1๋ถํฐ ์ ๋ ฅ๋ฐ์ ์ซ์ n ์ฌ์ด์ ์๋ ์์์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ๋ง๋ค์ด ๋ณด์ธ์.
์์๋ 1๊ณผ ์๊ธฐ ์์ ์ผ๋ก๋ง ๋๋์ด์ง๋ ์๋ฅผ ์๋ฏธํฉ๋๋ค.
(1์ ์์๊ฐ ์๋๋๋ค.)
์ ํ ์กฐ๊ฑด
- n์ 2์ด์ 1000000์ดํ์ ์์ฐ์์ ๋๋ค.
10 | 4 |
5 | 3 |
์ ์ ๋ฐฐ์ ๋ '์๋ผํ ์คํ ๋ค์ค ์ฒด'๋ฅผ ์ด์ฉํ๋ค.
๋ฐฐ์ด arr๋ฅผ ๋์ ํ ๋น( ๋ฐฐ์ด์ ํ์ฌ ๊ฐ์ด 0์ผ๋ก ์ด๊ธฐํ )
์ฒซ ์์์ธ 2๋ถํฐ ๋ฐ๋ณต๋ฌธ ์์ํด์, ์ธ๋ฑ์ค ๊ฐ์ด 0์ด๋ฉด ์์ count
๊ทธ๋ฆฌ๊ณ ํด๋นํ๋ ์์์ ๋ฐฐ์๋ค์ ์ธ๋ฑ์ค ๊ฐ์ 1๋ก ๋ณ๊ฒฝ( ๊ทธ๋ ๊ฒ ๋๋ฉด ์ดํ์ arr[i]==0์ด ์๋๋ no count )
* ์ฒ์์ ์๊ฐ์ ์ด์ํ๊ฒํด์ .. int[] arr=new int[n]; ์ด๋ ๊ฒ ๋ฐฐ์ด์ ์์ฑํ๋๋
index๊ฐ 0๋ถํฐ ์์์ด๋ ์ ๋ ๊ฒํ๋ฉด n-1 ์ ๊น์ง๋ง ํ๋ณํด์ n์ ํ๋ณ๋ชปํจ
๊ทธ๋์ n+1...
import java.util.*;
class Solution {
public int solution(int n){
int answer=0;
int[] arr=new int[n+1];
for(int i=2; i<=n; i++){
if(arr[i]==0){
answer++;
for(int j=i; j<=n; j=j+i)
arr[j]=1;
}
}
return answer;
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2022.10.14 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2022.10.14 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์๋ ์ซ์ ๋ํ๊ธฐ (0) | 2022.10.12 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (0) | 2022.10.12 |
[๋ฐฑ์ค][JAVA]1152๋ฒ : ๋จ์ด์ ๊ฐ์ (0) | 2022.10.11 |