졸업 선물

WooBuntu·2021년 2월 22일
0

JS 90제

목록 보기
14/33
  • 내 풀이
const solution = (budget, arr) => {
  arr.sort((a, b) => (a[0] + a[1] > b[0] + b[1] ? 1 : -1));
  const limit = arr.length;
  const calculate = (remain, index) => {
    let count = 1;
    for (let i = 0; i < limit; i++) {
      const [price, deliveryCharge] = arr[i];
      if (i == index) continue;
      if (remain >= price + deliveryCharge) {
        remain = remain - price - deliveryCharge;
        count++;
        continue;
      }
      return count;
    }
  };

  let max = 0;
  for (let i = 0; i < limit; i++) {
    const [price, deliveryCharge] = arr[i];
    const remain = budget - price / 2 - deliveryCharge;
    const calculated = calculate(remain, i);
    if (calculated > max) max = calculated;
  }
  return max;
};

const result = solution(28, [
  [6, 6],
  [2, 2],
  [4, 3],
  [4, 5],
  [10, 3],
]);
console.log(result);

0개의 댓글