cospro 10번 문제
상품권 총 지급액 구하기
문제 설명
A 백화점에서는 고객의 구매금액에 따라 다음과 같이 상품권을 지급한다.
이때, 상품권은 지급 가능한 가장 큰 금액으로 한 장만 지급한다.
예를 들어 고객이 65만원을 구매했다면, 3만원권 상품권 한 장만 지급한다.
고객들의 구매 금액이 들어있는 배열 purchase와 purchase의 길이 purchase_len이 주어질 때, 고객들에게 지급해야 하는 상품권의 총액을 return 하도록 하는 solution 함수를 완성한다.
매개변수 설명
고객들의 구매 금액이 들어있는 배열 purchase와 purchase의 길이 purchase_len이 함수의 매개변수로 주어진다.
purchase_len은 1 이상 100 이하의 자연수이다.
purchase의 원소는 10 이상 1500000 이하의 자연수이며, 10원 단위로 주어진다.
return값 설명
고객들에게 지급해야 하는 상품권 총액을 return 한다.
예시
예시 설명
210000원, 399990원을 구매한 고객에게 1만 원 상품권을 지급해야 한다.
990000원을 구매한 고객에게 3만 원 상품권을 지급해야 한다.
1000000원을 구매한 고객에게 5만 원 상품권을 지급한다.
코드 설명
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int purchase[], int purchase_len) {
int total = 0; //고객에게 줄 상품권의 금액
for (int i = 0; i < purchase_len; ++i) {
if (purchase[i] >= 1000000) //100만 원 이상 구매한 고객
total += 50000;
else if (purchase[i] >= 600000) //60만 원 이상 구매한 고객
total += 30000;
else if (purchase[i] >= 400000) //40만 원 이상 구매한 고객
total += 20000;
else if (purchase[i] >= 200000) //20만원 이상 구매한 고객
total += 10000;
}
return total;
}
int main() {
int purchase[5] = { 150000, 210000, 399990, 990000, 1000000 };
int purchase_len = 5;
int ret = solution(purchase, purchase_len);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
조건을 보면 100만 원, 60만 원, 40만 원, 20만 원 순으로 상품권을 지급한다.
마지막 조건은 20만 원 이상인 고객이다. 즉, else문이 아닌 else if로 조건식을 써야 한다.
만약 else로 주게 된면 천 원을 쓴 고객도, 백 원을 쓴 고객에게도 1만 원 상품권을 지급하게 된다.
'cospro2급 > cospro_2차' 카테고리의 다른 글
2021-05-12 (0) | 2021.05.12 |
---|---|
2021-05-11 (0) | 2021.05.11 |
2021-05-11 (0) | 2021.05.11 |
2021-05-10 (0) | 2021.05.10 |
2021-05-10 (0) | 2021.05.10 |