본문 바로가기

Fundamentals/Algorithms

[해커랭크] Electronics Shop

문제링크

 

Electronics Shop | HackerRank

Determine the most expensive Keyboard and USB drive combination one can purchase within her budget.

www.hackerrank.com

"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