-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
혹시나 다른 코드 보고 싶으신 분들을 위해 올립니다!
22.06.10 12:42 작성 조회수 109
0
const solution = (arr, m) => {
let result = 0;
let startPoint = Math.max(...arr);
let endPoint = arr.reduce((acc, cur) => acc + cur, 0);
while (startPoint <= endPoint) {
const middlePoint = Math.floor((startPoint + endPoint) / 2);
let sum = 0;
for (let i = 0; i < arr.length; i++) {
if (sum + arr[i] > middlePoint) {
result++;
sum = arr[i];
} else {
sum += arr[i];
}
}
if (result <= m) {
endPoint = middlePoint - 1;
} else {
startPoint = middlePoint + 1;
}
}
return result;
};
답변을 작성해보세요.
답변 0