Tags
- ๊น์ด ์ฐ์ ํ์
- ๊ทธ๋ํ ํ์
- LV2
- SpringBoot
- ๋ฐฑํธ๋ํน
- BOJ
- ๋ฌธ์์ด
- ์ํ
- Java
- ์๋ฎฌ๋ ์ด์
- DP
- Study
- ๊ตฌํ
- sort
- ๋๋น ์ฐ์ ํ์
- ์๋ฃ๊ตฌ์กฐ
- ์ ์๋ก
- dfs
- ๊ทธ๋ํ ์ด๋ก
- ๊ต์ฌ
- greedy
- Brute Force Algorithm
- Python
- ์ ๋ ฌ
- queue
- Dynamic Programming
- CodingTest
- PGM
- BFS
- stack
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_4948 : ๋ฒ ๋ฅดํธ๋ ๊ณต์ค ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ ๋ ฅ ๋ ์ n๋ณด๋ค ํฌ๊ณ 2n์ดํ์ธ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
- 0์ด ์ ๋ ฅ ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
int n = sc.nextInt();
while (n != 0) {
boolean[] arr = new boolean[n * 2 + 1];
for (int i = 2; i <= n * 2; i++) {
if (!arr[i]) {
int j = 2;
while (i * j <= n * 2) {
arr[i * j] = true;
j++;
}
}
}
int answer = 0;
for (int i = n + 1; i <= n * 2; i++) {
if (!arr[i]) {
answer++;
}
}
System.out.println(answer);
n = sc.nextInt();
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- 2๋ถํฐ 2n๊น์ง์ ์์๋ฅผ boolean๋ฐฐ์ด arr์ ์ฑ์ด๋ค.
- 2๋ถํฐ 2*n๊น์ง ์๋ฅผ ์ฆ๊ฐํด ๊ฐ๋ฉฐ ์์๋ฅผ ํ๋ณํ๋ค.
- ํ ์๋ฅผ 2๋ถํฐ ๊ฐ์ด n*2๋ฅผ ๋์ง ์์ ๋ ๊น์ง ํค์๊ฐ๋ฉฐ arr๊ฐ์ true๋ก ๋ฐ๊พผ๋ค.
- ์์ ์๊ฐ ์ด๋ฏธ true์ผ ๋๋ ๋ฐ๋ณต์ ์์ํ์ง ์๋๋ค.
- 2๋ถํฐ 2*n๊น์ง ์๋ฅผ ์ฆ๊ฐํด ๊ฐ๋ฉฐ ์์๋ฅผ ํ๋ณํ๋ค.
- arr๋ฅผ ์ํํด false์ ์๋ฅผ ์ธ์ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์์๋ฅผ ๋ฐฐ์ด์ ์ ์ฅํด ๊ณ์ฐ ์๋๋ฅผ ์ฌ๋ฆฌ๋ ์์ด๋์ด๋ฅผ ์๊ณ ์์ด์ ์ฝ๊ฒ ํ ์ ์์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_10972 : ๋ค์ ์์ด (0) | 2023.01.14 |
---|---|
BOJ_2563 : ์์ข ์ด (0) | 2023.01.13 |
BOJ_11653 : ์์ธ์๋ถํด (0) | 2023.01.12 |
BOJ_10757 : ํฐ ์ A+B (0) | 2023.01.12 |
BOJ_18108 : 1998๋ ์์ธ ๋ด๊ฐ ํ๊ตญ์์๋ 2541๋ ์?! (0) | 2023.01.12 |