01-24 00:19
Recent Posts
Recent Comments
Tags
- ์คํฝ๋ ํ
- ์๋์ด๋ ธ
- ICT๋ฉํ ๋ง
- API๋ง์ผํ๋ ์ด์ค
- ์๋ฐ
- Spring
- DATABASE
- linux
- mysql
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- DB
- ์ด๋ธ์
- ํ์ด์๊ณต๋ชจ์
- ํ๋ก๋ณด๋ ธ
- ์กํ๊ณ
- ํ์ด์ฌ
- TSQL
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- ict๊ณต๋ชจ์
- Java
- python
- Naver Cloud
- ์คํฝ์ค๋น
- RaspberryPi
- ์จ์ผ๋ํ
- ํ์ด์
- SQL
- ICT
- JOBํ๊ณ
- appetizer
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ์ด๋ถ๊ฒ์ 1654 :: ๋์ ์๋ฅด๊ธฐ ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
์ง์์ ์๊ฐ์ ๋ณด๋ด๋ ์ค์์์ ๋ฐ์ฑ์์ ๋ถ๋ฆ์ ๋ฐ๊ณ ๊ธํ ๋ฌ๋ ค์๋ค.
๋ฐ์ฑ์์ด ์บ ํ ๋ ์ธ N๊ฐ์ ๋์ ์ ๋ง๋ค์ด์ผ ํ๋๋ฐ ๋๋ฌด ๋ฐ๋น ์ ์์์ด์๊ฒ ๋์์ ์ฒญํ๋ค.
์ด๋ฏธ ์ค์์์ ์์ฒด์ ์ผ๋ก K๊ฐ์ ๋์ ์ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ฌ๋ K๊ฐ์ ๋์ ์ ๊ธธ์ด๊ฐ ์ ๊ฐ๊ฐ์ด๋ค.
๋ฐ์ฑ์์ ๋์ ์ ๋ชจ๋ N๊ฐ์ ๊ฐ์ ๊ธธ์ด์ ๋์ ์ผ๋ก ๋ง๋ค๊ณ ์ถ์๊ธฐ ๋๋ฌธ์ K๊ฐ์ ๋์ ์ ์๋ผ์ ๋ง๋ค์ด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด 300cm ์ง๋ฆฌ ๋์ ์์ 140cm ์ง๋ฆฌ ๋์ ์ ๋ ๊ฐ ์๋ผ๋ด๋ฉด 20cm๋ ๋ฒ๋ ค์ผ ํ๋ค. (์ด๋ฏธ ์๋ฅธ ๋์ ์ ๋ถ์ผ ์ ์๋ค.)
ํธ์๋ฅผ ์ํด ๋์ ์ ์๋ฅด๊ฑฐ๋ ๋ง๋ค ๋ ์์ค๋๋ ๊ธธ์ด๋ ์๋ค๊ณ ๊ฐ์ ํ๋ฉฐ, ๊ธฐ์กด์ K๊ฐ์ ๋์ ์ผ๋ก N๊ฐ์ ๋์ ์ ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ๋ ์๋ค๊ณ ๊ฐ์ ํ์. ๊ทธ๋ฆฌ๊ณ ์๋ฅผ ๋๋ ํญ์ ์ผํฐ๋ฏธํฐ ๋จ์๋ก ์ ์๊ธธ์ด๋งํผ ์๋ฅธ๋ค๊ณ ๊ฐ์ ํ์.
N๊ฐ๋ณด๋ค ๋ง์ด ๋ง๋๋ ๊ฒ๋ N๊ฐ๋ฅผ ๋ง๋๋ ๊ฒ์ ํฌํจ๋๋ค. ์ด๋ ๋ง๋ค ์ ์๋ ์ต๋ ๋์ ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ฒซ์งธ ์ค์๋ ์ค์์์ด ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๋์ ์ ๊ฐ์ K, ๊ทธ๋ฆฌ๊ณ ํ์ํ ๋์ ์ ๊ฐ์ N์ด ์ ๋ ฅ๋๋ค.
- K๋ 1์ด์ 10,000์ดํ์ ์ ์์ด๊ณ , N์ 1์ด์ 1,000,000์ดํ์ ์ ์์ด๋ค.
- ๊ทธ๋ฆฌ๊ณ ํญ์ K โฆ N ์ด๋ค. ๊ทธ ํ K์ค์ ๊ฑธ์ณ ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๊ฐ ๋์ ์ ๊ธธ์ด๊ฐ ์ผํฐ๋ฏธํฐ ๋จ์์ ์ ์๋ก ์ ๋ ฅ๋๋ค.
- ๋์ ์ ๊ธธ์ด๋ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
- ์ฒซ์งธ ์ค์ N๊ฐ๋ฅผ ๋ง๋ค ์ ์๋ ๋์ ์ ์ต๋ ๊ธธ์ด๋ฅผ ์ผํฐ๋ฏธํฐ ๋จ์์ ์ ์๋ก ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1)
4 11
802
743
457
539
์์ ์ถ๋ ฅ 1)
200
โ
๐ป Main.java
- ์ด๋ถ๊ฒ์, ๊ฒฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ค.
- lt์ rt๋ฅผ ์ค์ ํ๊ณ ์ต๋๊ฐ์ ์ฐพ์ ๋๊น์ง, mid๊ฐ์ ์กฐ์ ํด์ค๋ค.
- mid๊ฐ์ด int๋ฒ์๋ฅผ ์ด๊ณผํ ์๋ ์๊ธฐ๋๋ฌธ์ ๋ฐ์ดํฐํ์ long์ผ๋ก ํด์คฌ๋ค.
/* ๋ฐฑ์ค ๊ทธ๋ํ - 1654 :: ๋์ ์๋ฅด๊ธฐ */
import java.util.*;
import java.io.*;
public class Main {
static public long count (int[] arr, long mid) {
long cnt = 0;
// ํ ์ ์ ์ ๋ช๊ฐ๋ก ๋๋ ์ ์๋์ง ํฉ์ ๊ตฌํ๋ค.
for(int x : arr) {
cnt += x / mid;
}
return cnt;
}
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
int n = sc.nextInt();
// ๋์ ๊ฐ ์
๋ ฅ
int [] arr = new int [k];
for(int i = 0; i < k; i++) {
arr[i] = sc.nextInt();
}
// ๋ฐฐ์ด ์ ๋ ฌ, lt,rt ์ด๊ธฐํ
Arrays.sort(arr);
long lt = 1;
long rt = arr[k-1];
long answer = 0;
// ์ด๋ถ ํ์ (๊ฒฐ์ ์๊ณ ๋ฆฌ์ฆ)
while(lt <= rt) {
long mid = (lt + rt) / 2;
// count()๋ ์ ํจ๊ฐ์ ์ฐพ๋ ํจ์
if(count(arr, mid) >= n) {
answer = mid;
// ์ต๋๊ฐ์ ์ฐพ๊ธฐ ๋๋ฌธ์ ์ ํจ๊ฐ์ ์ฐพ์ผ๋ฉด ๋ฒ์๋ฅผ ๋ํ์ค๋ค.
lt = mid + 1;
}
else
rt = mid - 1;
}
System.out.println(answer);
sc.close();
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค ์ด๋ถ๊ฒ์ 2110 :: ๊ณต์ ๊ธฐ ์ค์น (0) | 2022.04.07 |
---|---|
[BAEKJOON] ๋ฐฑ์ค ์ด๋ถ๊ฒ์ 2805 :: ๋๋ฌด ์๋ฅด๊ธฐ (0) | 2022.04.07 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ 1967 :: ํธ๋ฆฌ์ ์ง๋ฆ (0) | 2022.04.07 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ 11725:: ํธ๋ฆฌ์ ๋ถ๋ชจ ์ฐพ๊ธฐ (0) | 2022.04.05 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ1991 :: ํธ๋ฆฌ ์ํ (0) | 2022.04.04 |
Comments