인프런 커뮤니티 질문&답변
혹시나 다른 코드 보고 싶으신 분들을 위해 올립니다!
작성
·
205
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;
};
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!





