"Electronics Shop" 문제에서는 한 사람이 주어진 예산으로 구매할 수 있는 가장 비싼 컴퓨터 키보드와 USB 드라이브의 조합을 찾아야 합니다. 키보드와 USB 드라이브의 가격 목록과 예산이 주어지며, 두 제품을 모두 구매할 수 있는 최대 비용을 찾는 것이 목표입니다. 만약 두 제품을 모두 구매할 수 없다면 -1을 반환해야 합니다.
예를 들어, 예산이 60달러이고 키보드의 가격이 [40, 50, 60]달러, USB 드라이브의 가격이 [5, 8, 12]달러라면, 50달러짜리 키보드와 8달러짜리 USB 드라이브를 구매하여 총 58달러를 사용할 수 있습니다. 이 경우 함수는 58을 반환해야 합니다.
풀이 :
function getMoneySpent(keyboards, drives, b) {
let max = -1
for(let i=0; i<keyboards.length; i++){
for(let j=0; j< drives.length; j++){
const sum = keyboards[i]+ drives[j]
if( sum <= b && sum > max){
max = keyboards[i]+ drives[j]
}
}
}
return max;
}
두 제품 조합의 가격을 모두 고려하여, 각 조합의 총 비용이 예산을 초과하지 않으면서 현재까지 계산된 최대 지출액보다 큰 경우에만 최대 지출액을 업데이트합니다.
'Fundamentals > Algorithms' 카테고리의 다른 글
[해커랭크] Forming a Magic Square (0) | 2023.12.12 |
---|---|
[해커랭크] Cats and a Mouse (0) | 2023.12.06 |
[해커랭크] Counting Valleys (0) | 2023.12.06 |
[해커랭크] Sales by Match (0) | 2023.12.05 |
[해커랭크] Bill Division (0) | 2023.12.05 |