Tags
- ๊ตฌํ
- greedy
- ๊ทธ๋ํ ์ด๋ก
- DP
- CodingTest
- PGM
- Python
- ์ ๋ ฌ
- Java
- ๋๋น ์ฐ์ ํ์
- sort
- BFS
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ํ์
- Brute Force Algorithm
- ์ํ
- queue
- ๊ต์ฌ
- BOJ
- dfs
- ๋ฐฑํธ๋ํน
- SpringBoot
- Dynamic Programming
- LV2
- stack
- ์๋ฎฌ๋ ์ด์
- ๋ฌธ์์ด
- ์ ์๋ก
- ๊น์ด ์ฐ์ ํ์
- Study
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1300 : K๋ฒ์งธ ์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- N x N ์ธ ๋ฐฐ์ด A๊ฐ ์๊ณ , A[i][j] = ixj ์ด๋ค.
- ์ผ์ฐจ์ ๋ฐฐ์ด B์ A๋ฅผ ๋ฃ๊ณ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ ๋, B[k]๋ฅผ ๊ตฌํ๋ค.
- ๋ฐฐ์ด ์ธ๋ฑ์ค๋ 1๋ถํฐ ์์ํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ๋ฐฐ์ด A์ ์์๋ค ์ค ์ค์๊ฐ ๋ณด๋ค ์์ ์๋ค์ ๊ฐ์๋ฅผ ์ธ๋ฉฐ ์ด์ง ํ์์ ํตํด ํ์ดํ๋ค.
- ์ค์๊ฐ ๋ณด๋ค ์์ ์๋ค์ด K๋ณด๋ค ์๋ค๋ฉด, ์์ ์ธ๋ฑ์ค๋ฅผ ์ค์๊ฐ +1 ๋ก ๋ณ๊ฒฝํ๋ค.
- ์ค์๊ฐ๋ณด๋ค ์์ ์๋ค์ด K์ด์์ด๋ผ๋ฉด, ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ์ค์๊ฐ -1 ๋ก ๋ณ๊ฒฝํ๋ค.
- ์์ ์ธ๋ฑ์ค์ ๋ง์ง๋ง ์ธ๋ฑ์ค๊ฐ ๊ต์ฐจ๋์์๋, ์์ ์ธ๋ฑ์ค๊ฐ ํ์ ๊ฒฐ๊ณผ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
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));
int N = Integer.parseInt(br.readLine());
int K = Integer.parseInt(br.readLine());
int start = 1;
int end = K;
while (start <= end) {
int mid = (start + end) / 2;
int cnt = 0;
for (int i = 1; i <= N; i++) {
cnt += Math.min(N, mid / i);
}
if (cnt < K) start = mid + 1;
else end = mid - 1;
}
bw.write(Integer.toString(start));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ด์ง ํ์์ผ๋ก ์ค์๊ฐ๋ณด๋ค ์์ ์์์ ์๋ฅผ ์ธ๋ฉฐ ๊ณ์ฐํ๋ค.
- ์ค์๊ฐ์ ๋ฐฐ์ด A์ ํ ์ธ๋ฑ์ค๋ก ๋๋ ๋ชซ์, ํด๋น ํ์์ ์ค์๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์์ ์์ด๋ค.
(๋จ, N๋ณด๋ค ํฌ๋ค๋ฉด N์ด ์ค์๊ฐ๋ณด๋ค ์์ ์์ ์๊ฐ ๋๋ค.) - ์ค์๊ฐ๋ณด๋ค ์์ ์์์ ์๊ฐ K๋ณด๋ค ์๋ค๋ฉด, K๋ฒ์งธ ์๋ ๋ ํฐ์ชฝ์ ์กด์ฌํ๋ค.
- ์ค์๊ฐ๋ณด๋ค ํฐ ์ชฝ์ ํ์ํ๊ธฐ ์ํด start๋ฅผ mid+1๋ก ๋๋ฆฌ๊ณ ํ์ํ๋ค.
- ์ค์๊ฐ๋ณด๋ค ์์ ์์ ์๊ฐ K ์ดํ๋ผ๋ฉด, K๋ฒ์งธ ์๋ ๊ฐ๊ฑฐ๋ ๋ ์์ ์ชฝ์ ์กด์ฌํ๋ค.
- ์ค์๊ฐ๋ณด๋ค ์์ ์ชฝ์ ํ์ํ๊ธฐ ์ํด end๋ฅผ mid - 1๋ก ์ค์ด๊ณ ํ์ํ๋ค.
- start์ end๊ฐ ๊ต์ฐจ๋์์ ๋, start๊ฐ ํ์ ๊ฒฐ๊ณผ์ด๋ค.
- ์ค์๊ฐ์ ๋ฐฐ์ด A์ ํ ์ธ๋ฑ์ค๋ก ๋๋ ๋ชซ์, ํด๋น ํ์์ ์ค์๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์์ ์์ด๋ค.
๐ธ end ๐ธ
- ์ด ๋ฌธ์ ๋ ์ด์ง ํ์์ด๋ผ๋ ๊ฒ์ ํ์
ํ๋ ๊ฒ ๋ถํฐ๊ฐ ์ด๋ ค์ด ๋ฌธ์ ๋ผ๊ณ ํ๋ค.
- ๊ต์ฌ๋ฅผ ํตํด ํ์ด ๋ฐฉ๋ฒ์ ๋จผ์ ์ดํด๋ณด๊ณ ํ์ด๋ฅผ ํด๋ณด์์ ๋ฐ๋ก ๋ง์์ง๋ง, ํผ์ ํ์์ผ๋ฉด ์ ๋ ๋ชปํ์์ ๊ฒ ๊ฐ๋ค.
- ์ด๋ฐ ๋งค๊ฐ ๋ณ์ ํ์ ๋ฐฉ์์ ์ ๋ง ๊ธฐ๋ฐํ ํ์ด๊ฐ ๋ง์ ๊ฒ ๊ฐ๊ณ , ์์ง ํ์ฐธ ์ฐ์ตํด์ผ ํ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1744 : ์ ๋ฌถ๊ธฐ (0) | 2024.02.11 |
---|---|
BOJ_1715 : ์นด๋ ์ ๋ ฌํ๊ธฐ (0) | 2024.02.11 |
BOJ_2343 : ๊ธฐํ ๋ ์จ (0) | 2024.02.05 |
BOJ_11404 : ํ๋ก์ด๋ (0) | 2024.01.31 |
BOJ_1517 : ๋ฒ๋ธ ์ํธ (0) | 2024.01.26 |