https://www.acmicpc.net/problem/2110
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let num = Number(input[0].split(" ")[1]);
let numbers = [];
for(let i=1; i<input.length; i++) {
if(input[i] != '') {
numbers.push(Number(input[i]));
}
}
function answer(arr, num) {
arr.sort((a, b) => a - b);
let left = 1;
let right = arr[arr.length-1] - arr[0];
let ans = 0;
while(left<=right) {
let cnt = 1;
let mid = Math.floor((left+right)/2);
let pre = arr[0];
arr.forEach((n) => {
if (n - pre >= mid) {
cnt++;
pre = n;
}
})
if(cnt >= num) {
ans = mid;
left = mid + 1;
}
else right = mid - 1;
}
return ans;
}
console.log(answer(numbers, num));
또 input 조건문 처리 안해줘서 한참을 헤맸다
ㅎ
ㅎㅎㅎ
...