9 / 18
졸업선물
선생님은 올해 졸업하는 반 학생들에게 졸업선물을 주려고 합니다. 학생들에게 인터넷 쇼핑몰에서 각자 원하는 상품을 골라 그 상품의 가격과 배송비를 제출하라고 했습니다. 선생님이 가지고 있는 예산은 한정되어 있습니다.
현재 예산으로 최대 몇 명의 학생에게 선물을 사줄 수 있는지 구하는 프로그램을 작성하세요. 선생님은 상품 하나를 50% 할인해서 살 수 있는 쿠폰을 가지고 있습니다. 배송비는 할인에 포함되지 않습니다.
첫번째 인자에 학생수와 예산이 주어진다. 두 번째 인자부터 n줄까지 각 학생들이 받고 싶은 상품의 가격과 배송비가 입력된다. 상품 가격은 짝수로 입력된다.
스스로 해결 여부
⭕️ 👏🏻
const getMaxStudentNumber = (budget, arr) => {
let sum = 0
let num = 0
let sumArr = []
for (let j = 0; j < arr.length; j++) {
sumArr.push(arr[j][0] / 2 + arr[j][1])
}
sumArr.sort((a, b) => a - b)
console.log(sumArr)
for (let i = 0; i < sumArr.length; i++) {
sum += sumArr[i]
if (sum <= budget) {
num++
}
}
return num
}
console.log(
getMaxStudentNumber(28, [
[6, 6],
[4, 3],
[10, 3],
[4, 5],
[2, 2],
])
) //4