https://www.acmicpc.net/problem/1654
๐ฉ๋ฌธ์

๐๋ฌธ์ ํด๊ฒฐ (์ด๋ถํ์)

1. ๋์ ๊ธธ์ด๋ฅผ int๋ก ํ์ฌ ๊ณ์ฐํ๋ฉด ์ค๊ฐ์ ํด๋น ๋ฒ์๋ฅผ ๋์ ์ ์๊ธฐ ๋๋ฌธ์ long์ผ๋ก ์ ์ธํ๋ค.
2. ์์์์ (0+์ต๋๊ฐ)/2๋ก ํด๋น ๋ฐฐ์ด์ ์ค๊ฐ๊ฐ์ ๊ตฌํ๊ณ ๊ทธ ๊ฐ์ ๋ฐ๋ผ ๋๋ฌธ์ ์ค๊ฐ๊ฐ์ ์์น๋ฅผ ๋ณ๊ฒฝํด์ผํ๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ๋ฐ์ ๋์ ๊ธธ์ด๋ฅผ ์ ๋ ฌ์ ํด์ค๋ค.
3. ๊ฐ์ง๊ณ ์๋ ๋์ ๋ค์ 2๋ฒ์์ ๊ตฌํ ์ค๊ฐ๊ฐ์ผ๋ก ๊ฐ๊ฐ ๋๋์ด์ ๋ชซ์ ๊ฒฐ๊ณผ๊ฐ์ ๋ํด์ค๋ค.
4.๊ฒฐ๊ณผ๊ฐ์ด N(ํ์ํ ๋์ ์ ์) ๋ณด๋ค ์์ผ๋ฉด ๋๋ ์ผํ๋ ๊ฐ์ด ์์์ผํ๋๊ฒ์ด๋ฏ๋ก ์ต๋๊ฐ์ ์ค๊ฐ๊ฐ-1์ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค.
5. ๊ทธ๋ ๊ฒ ํ์ํ ๋์ ์ ์๊ฐ ๋์ฌ๋๊น์ง ๋ฌดํ๋ฃจํ๋ฅผ ์คํํ๊ณ ์ต์๊ฐ์ด ์ต๋๊ฐ๋ณด๋ค ์ปค์ง๋ฉด ๋ฃจํ๋ฌธ์ ํ์ถํ ํ ์ต๋๊ฐ์ ์ถ๋ ฅํด์ค๋ค.
import java.io.*;
import java.util.*;
/*
* ์
๋ ฅ *
* ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๋์ ์ ๊ฐ์ K, ์จ์ผํ๋ ๋์ ์ ๊ฐ์ N
* K์ค์ ๊ฑธ์ณ ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๋์ ์ ๊ธธ์ด
* ์ถ๋ ฅ *
* N๊ฐ๋ฅผ ๋ง๋ค ์ ์๋ ๋์ ์ ์ต๋ ๊ธธ์ด
*
* ๋ฌธ์ ํด๊ฒฐ
* 1. ๊ฐ์ง๊ณ ์๋ ๋์ ์ ๊ธธ์ด๋ฅผ ๋ฐฐ์ด๋ก ๋ฐ๋๋ค
* 2. ์
๋ ฅ๋ฐ์ ๋ฐฐ์ด์ ์ ๋ ฌํด ์ค๋ค.
* 2. ๊ฐ์ง๊ณ ์๋ ๋์ ๊ธธ์ด์ ์ต๋๊ฐ์ 2๋ก๋๋์ด์ ์ค๊ฐ๊ฐ์ ์ ํ๋ค.
* 3. ๊ฐ ๋ฐฐ์ด์ ๋๋ฉด์ ์ค๊ฐ๊ฐ์ผ๋ก ๋๋๊ณ ๋ชซ์ ๋ํด์ค๋ค.
* 4. ๋ฐฐ์ด์ ๋ค ๋๊ณ ๋ํด์ง ๋ชซ์ด n๋ณด๋ค ์์ผ๋ฉด , ๋๋ ์ผ ํ๋ ๊ธธ์ด๊ฐ ๋ ์์์ ธ์ผ ํ๋๊ฒ ์ด๋ฏ๋ก ์ต๋๊ฐ์ ๊ธธ์ด๋ฅผ ์ค๊ฐ๊ฐ-1๋ก ๋ฐ๊ฟ์ค๋ค.
* ์ค๊ฐ๊ฐ์ ์ด๋ฏธ ๊ณ์ฐ๋์ ์ด ์์ผ๋ฏ๋ก ๊ทธ๊ฐ์ -1์ ํด์ค๋ค.
*/
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String [] str = br.readLine().split(" ");
int K = Integer.parseInt(str[0]);
int N = Integer.parseInt(str[1]);
int [] num = new int[K];
long min ,max,mid;
for(int i=0;i<K;i++){
num[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(num);
min = 1;
max=num[K-1];
while(min<=max){
mid=(min+max)/2;
long cnt = 0;
for(int i=0;i<K;i++){
cnt += num[i]/mid; //์๋ผ์ง ๋์ ๊ฐ์
}
// ์๋ผ์ง ๋์ ๊ฐ์๊ฐ ๋ถ์กฑํ๋ฉด ์ต๋๊ธธ์ด๊ฐ ๋ ์งง์ ์ ธ์ผํ๋ค.
if(cnt<N){
max=mid-1;
}else min=mid+1;
}
System.out.println(max);
}
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Java]BOJ 1351 : ๋ฌดํ ์์ด (1) | 2025.02.21 |
|---|---|
| [Java]BOJ 2225 : ํฉ๋ถํด (0) | 2025.02.21 |
| [Java]BOJ 2776 : ์๊ธฐ์ (0) | 2025.01.13 |
| [Java]BOJ 1388 : ๋ฐ๋ฅ์ฅ์ (0) | 2024.12.07 |
| [Java]BOJ 1026 : ๋ณด๋ฌผ (0) | 2024.12.06 |