이 문제는 이분탐색 문제인데 배열을 주고 n개를 할수 있는 최대 길이를 구하는 문제다.
나중에 가면 최대길이를 주고 n개를 나눌수 있는 배열의 값들을 골라달라고 할것 같다. 어 이거 백설공주 난쟁이 문제인가.. 이 문제는 조금 이분탐색에서도 응용문제라 정답률도 실버답지않게 낮은편이다
long max = 0;
for (int i = 0; i < k; i++) {
len[i] = sc.nextInt();
if (max < len[i]) {
max = len[i];
}
}
sc.close();
max++;
while (min < max) {
mid = (min + max) / 2;
long cnt = 0;
for (int i = 0; i < len.length; i++) {
cnt += len[i] / mid;
}
if (cnt < n) {
max = mid;
} else {
min = mid + 1;
}
}
System.out.println(min - 1);
이문제는 이 블로그 의 소스를 많이 참고 하게되었다. 진짜 binary search 정말 중독성이 있는 알고리즘 인것 같다.