• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

혹시나 다른 코드 보고 싶으신 분들을 위해 올립니다!

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

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!