Tags
- ๊ต์ฌ
- ์ํ
- DP
- Brute Force Algorithm
- ๊ทธ๋ํ ํ์
- LV2
- Study
- dfs
- ๊น์ด ์ฐ์ ํ์
- PGM
- Dynamic Programming
- Python
- BOJ
- ๋๋น ์ฐ์ ํ์
- sort
- ๊ทธ๋ํ ์ด๋ก
- ๊ตฌํ
- SpringBoot
- ์ ์๋ก
- ์๋ฃ๊ตฌ์กฐ
- BFS
- ์๋ฎฌ๋ ์ด์
- queue
- Java
- ๋ฌธ์์ด
- greedy
- ๋ฐฑํธ๋ํน
- CodingTest
- stack
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1016 : ์ ๊ณฑ ใดใด ์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ฃผ์ด์ง ๋ฒ์์์ 1๋ณด๋ค ํฐ ์์ ์ ๊ณฑ์๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ต์๊ฐ์ด 1๋ถํฐ 1์กฐ, ์ต๋๊ฐ์ ์ต์๊ฐ๋ถํฐ 100๋ง์ ๋ํ ๊ฐ๊น์ง ์ฃผ์ด์ง๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- min๊ณผ max์ ๊ฐ์ด 1์กฐ๊น์ง ํฌ๊ฒ ์ฃผ์ด์ง๋ฏ๋ก long์ผ๋ก ๋ฐ์ผ์ ํ๋ค.
- ์ ๊ณฑ์๋ฅผ ํ์ธํ๊ธฐ ์ํด ์๋ผํ ์คํ
๋ค์ค์ ์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
- ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ max-min+1 ๋งํผ ์ฐจ์ด๋ก ์ ์ธํ๋ค.
- ์ ๊ณฑ์์ ๋ฐฐ์๋ฅผ max๊น์ง ๊ณ์ฐํ๋ฉฐ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ๋ฐฐ์ด์ ์ฒดํฌํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
long min = Long.parseLong(st.nextToken());
long max = Long.parseLong(st.nextToken());
boolean[] pn = new boolean[(int) (max - min + 1)];
for (long i = 2; i * i <= max; i++) {
long pow = i * i;
long start_idx = min / pow;
if (min % pow != 0) start_idx++;
for (long j = start_idx; j * pow <= max; j++) {
pn[(int) ((j * pow) - min)] = true;
}
}
int cnt = 0;
for (boolean p : pn) {
if (!p) cnt++;
}
bw.write(Integer.toString(cnt));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- min๊ณผ max๋ฅผ long์ผ๋ก ์ ๋ ฅ๋ฐ๊ณ , ๊ทธ ์ฐจ์ด๋งํผ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ๋ฐฐ์ด pn์ ํฌ๊ธฐ๋ก ์ ์ธํ๋ค.
- 2๋ถํฐ ์ ๊ณฑ์๊ฐ max๋ฅผ ๋์ง ์์ ๋ ๊น์ง ๊ณ์ฐ์ ๋ฐ๋ณตํ๋ค.
- miin์ ์ ๊ณฑ์ pow๋ก ๋๋ ๊ฐ์ ์์ ์ธ๋ฑ์ค๋ก ์ ํํ๊ณ , ๋ง์ฝ ๋๋์ด ๋จ์ด์ง์ง ์๋๋ค๋ฉด +1ํ๋ค.
- pow์ ๋ฐฐ์๊ฐ max๋ฅผ ๋์ง ์์ ๋๊น์ง ๊ณ์ฐํด pn์ ์ฒดํฌํ๋ค.
- pn์ ์ฒดํฌ๋์ง ์์ ์ธ๋ฑ์ค์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์๋ผํ ์คํ
๋ค์ค์ ์ฒด๋ฅผ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ฉด ์ด๋ ต์ง ์๊ฒ ํ์ด ํ ์ ์๋ ๋ฌธ์ ์ด๋.
- ํ์ง๋ง min๊ณผ max์ ๋ฒ์๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ long์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๊ณ , start_idx๋ฅผ ์ ํํ๋ ๋ถ๋ถ์ ๊ณ ๋ฏผ์ด ํ์ํ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1850 : ์ต๋๊ณต์ฝ์ (0) | 2024.02.21 |
---|---|
BOJ_11689 : GCD(n, k) = 1 (0) | 2024.02.21 |
BOJ_1747 : ์์&ํฐ๋ฆฐ๋๋กฌ (0) | 2024.02.20 |
BOJ_1456 : ๊ฑฐ์ ์์ (0) | 2024.02.18 |
BOJ_11444 : ํผ๋ณด๋์น ์ 6 (0) | 2024.02.12 |