Tags
- Study
- DP
- ์๋ฎฌ๋ ์ด์
- ๋๋น ์ฐ์ ํ์
- ์ ์๋ก
- ๊ตฌํ
- Brute Force Algorithm
- ๊ทธ๋ํ ํ์
- ๊ทธ๋ํ ์ด๋ก
- ์ ๋ ฌ
- sort
- PGM
- ์๋ฃ๊ตฌ์กฐ
- BFS
- ์ํ
- SpringBoot
- Java
- dfs
- queue
- stack
- ๋ฌธ์์ด
- ๊ต์ฌ
- greedy
- ๊น์ด ์ฐ์ ํ์
- Python
- BOJ
- LV2
- Dynamic Programming
- ๋ฐฑํธ๋ํน
- CodingTest
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2581 : ์์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- m๊ณผ n ์ฌ์ด์ ์์๋ค์ ํฉ๊ณผ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int m = Integer.parseInt(br.readLine());
int n = Integer.parseInt(br.readLine());
boolean prime[] = new boolean[n+1];
prime[1] = true;
for (int i = 2; i <= n; i++) {
int c = 1;
if (!prime[i*c++]) {
while (i*c <= n) {
prime[i*c++] = true;
}
}
}
long sum = 0;
int min = 0;
for (int i = m; i <= n; i++){
if (!prime[i]) {
sum += i;
if (min == 0) min = i;
}
}
if (min == 0) System.out.println(-1);
else System.out.println(sum + "\n" + min);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- m๊ณผ n์ ์
๋ ฅ๋ฐ๊ณ , n๊น์ง์ ์์๋ฅผ ๊ณ์ฐํ๋ค.
- boolean ๋ฐฐ์ด prime์ ์ ์ธํด i๋ฅผ 2๋ถํฐ n๊น์ง ์ฆ๊ฐ์ํค๋ฉฐ ๊ณ์ฐํ๋ค.
- i์ ๊ณฑ์ i๊ฐ ์ฝ์๊ฐ ๋๋ฏ๋ก ์์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด prime์ true๊ฐ์ ์ ์ฅํ๋ค.
- prime[0]์ ์ฌ์ฉํ์ง ์๊ณ , prime[1]์ 1์ด ์ฝ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก true๊ฐ์ ์ ์ฅํ๋ค.
- ๋ฐฐ์ด prime์ m~n ๋ฒ์๋ฅผ ์ํํ๋ฉฐ ํฉ๊ณผ ์ต์๊ฐ์ ๊ณ์ฐํด ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์ค๋๋ง์ ์์ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํ์ด๋ดค๋๋ฐ, ์กฐ๊ธ ์ฝ๋ ์์ ์ ํด๊ฐ๋ฉฐ ์์ ๊ณ์ฐ์ ํ์ง๋ง ์๋ฆฌ๋ฅผ ์๊ณ ์์ผ๋ ๊ธ๋ฐฉ ๋ต์ ์ฐพ์ ์ ์์๋ค.
- ํ๋ ธ์ต๋๋ค๊ฐ ๋์์ ๋ฐ๋ก๋ฅผ ์ฐพ๊ธฐ์ํด 0/0 , 1/10,000 ์ ๋ฃ์ด๋ณด๋ค๊ฐ prime[1]์ด true๊ฐ ์๋์ด ์์ด์ ์ค๋ฅ๊ฐ ๋๋๊ฑธ ์ฐพ์๋๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_10815 : ์ซ์ ์นด๋ (0) | 2022.10.01 |
---|---|
BOJ_1427 : ์ํธ์ธ์ฌ์ด๋ (0) | 2022.09.30 |
BOJ_4673 : ์ ํ ๋๋ฒ (0) | 2022.09.28 |
BOJ_1253 : ์ข๋ค (0) | 2022.09.24 |
BOJ_1940 : ์ฃผ๋ชฝ (0) | 2022.09.24 |