DINGA DINGA
article thumbnail
728x90

https://www.hackerrank.com/challenges/electronics-shop/problem

 

Electronics Shop | HackerRank

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

www.hackerrank.com

Algorithms > Implementation

 

주어진 예산으로 살 수 있는 가장 비싼 조합(키보드+드라이브)의 가격을 리턴한다.

가능한 조합이 없으면 -1을 리턴한다.

문제 설명

 

코드

int getMoneySpent(int keyboards_count, int* keyboards, int drives_count, int* drives, int b) {
   int sum, max = -1;
   for (int i = 0; i < keyboards_count; i++){
       for (int j = 0; j < drives_count; j++){
           sum = keyboards[i] + drives[j];
           if (sum <= b && sum > max) max = sum;
       }
   }
   return max;
}

 

설명

키보드와 드라이브 조합의 가격을 저장할 int형 변수 sum을 선언하고, 최고가를 저장할 int형 변수 max를 -1로 지정해 선언한다.

이중 for루프를 통해 keyboards 배열과 drives 배열에 저장된 각각의 데이터를 조합해 그 가격을 sum에 저장한다.

만약 sum이 주어진 예산 b 이하이고 max보다 크다면 max를 sum으로 업데이트한다.

모든 과정이 끝나면 max를 리턴한다.

이 때, 구매 가능한 조합이 없으면 max의 업데이트가 이루어지지 않으므로 -1이 리턴된다.

 

728x90

'C & C++ > HackerRank' 카테고리의 다른 글

[HackerRank] Print the Elements of a Linked List  (0) 2021.08.04
[HackerRank] Sparse Arrays  (1) 2021.07.29
[HackerRank] Arrays - DS  (1) 2021.07.21
[HackerRank] CamelCase  (1) 2021.07.21
[HackerRank] Insert a Node at the Tail of a Linked List  (0) 2021.07.16