문제
선생님은 올해 졸업하는 반 학생들에게 졸업선물을 주려고 한다.
선생님은 상품 하나를 50% 할인해서(반 가격) 살 수 있는 쿠폰을 가지고 있으며 배송비는 할인에 포함되지 않는다.
현재 예산으로 최대 몇 명의 학생에게 선물을 사줄 수 있는지 출력
풀이 과정
const solutionA = (products, m) => {
let answer = 0;
products.sort((a, b) => a[0] + a[1] - (b[0] + b[1]));
for (let i = 0; i < products.length; i++) {
let money = m - (products[i][0] / 2 + products[i][1]);
let count = 1;
for (let j = 0; j < products.length; j++) {
if (i !== j) {
const productPrice = products[j][0];
const deliveryCharge = products[j][1];
if (money < productPrice + deliveryCharge) break;
if (money >= productPrice + deliveryCharge) {
money -= productPrice + deliveryCharge;
count++;
}
}
}
answer = Math.max(answer, count);
}
return answer;
};
const testA = solutionA(
[
[6, 6],
[2, 2],
[4, 3],
[4, 5],
[10, 3],
],
28
);
console.log(testA);
틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄