Tags
- BOJ
- BFS
- ๋ฐฑํธ๋ํน
- greedy
- ๊ตฌํ
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ํ์
- ๋ฌธ์์ด
- Study
- ๋๋น ์ฐ์ ํ์
- queue
- ์ ๋ ฌ
- ์ํ
- ์๋ฎฌ๋ ์ด์
- Brute Force Algorithm
- Java
- ๊ทธ๋ํ ์ด๋ก
- ์ ์๋ก
- PGM
- LV2
- dfs
- Dynamic Programming
- DP
- CodingTest
- ๊น์ด ์ฐ์ ํ์
- sort
- SpringBoot
- ๊ต์ฌ
- stack
- Python
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2960 : ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 2๋ถํฐ n๊น์ง ์๋ฅผ ์ ํํ๋ค.
- ์ ํํ ์์ n๊น์ง์ ๋ฐฐ์๋ค์ ์ฐจ๋ก๋ก ์ง์ด๋ค.
- ์ง์ฐ์ง ์์ ์๊ฐ ๋จ์์๋ค๋ฉด ๋ฐ๋ณตํ๋ค.
- k๋ฒ์งธ ์ง์ด ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int count = 0;
boolean[] arr = new boolean[n + 1];
for (int i = 2; i <= n; i++) {
if (!arr[i]) {
int j = 0;
while (i * ++j <= n) {
if (!arr[i * j]) {
arr[i * j] = true;
if (++count == k) {
System.out.println(i * j);
System.exit(0);
}
}
}
}
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ง์ด ์๋ฅผ ํ์ธํ๊ธฐ ์ํธ boolean๋ฐฐ์ด arr๋ฅผ n+1ํฌ๊ธฐ๋ก ์ ์ธํด ์ธ๋ฑ์ค๋ฅผ ์๋ก ํ์ฉํ๋ค.
- 2๋ถํฐ n๊น์ง ๋ฐฐ์ด arr๋ฅผ ์ํํ๋ฉฐ ๊ณ์ฐํ๋ค.
- ๋ง์ฝ arr[i]๊ฐ false๋ผ๋ฉด ์์ง ์ง์ฐ์ง ์์์ผ๋ฏ๋ก ๋ฐฐ์๋ฅผ ๋ชจ๋ ์ง์์ค๋ค.
- j๋ i์ ๊ณฑํ ๊ฐ์ผ๋ก, 1๋ถํฐ i * j๊ฐ n์ด ๋์ง ์์ ๋ ๊น์ง 1์ฉ ๋ํ๋ค.
- arr[i * j]๊ฐ ์์ง ์ง์ฐ์ง ์์ ์๋ผ๋ฉด, ์นด์ดํธํ๋ฉฐ true๊ฐ์ ์ ์ฅํ๋ค.
- ์นด์ดํธ๊ฐ k๊ฐ ๋๋ฉด i * j๋ฅผ ์ถ๋ ฅํ๊ณ , ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๋ค.
๐ธ end ๐ธ
- ์์๊ณ์ฐ์ ๋นจ๋ฆฌํ๊ธฐ์ํด ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด์ด์ ์ฝ๊ฒ ํ ์ ์์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2587 : ๋ํ๊ฐ2 (0) | 2023.01.17 |
---|---|
BOJ_10610 : 30 (0) | 2023.01.16 |
BOJ_3085 : ์ฌํ ๊ฒ์ (0) | 2023.01.15 |
BOJ_2304 : ์ฐฝ๊ณ ๋ค๊ฐํ (0) | 2023.01.15 |
BOJ_10972 : ๋ค์ ์์ด (0) | 2023.01.14 |