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 |