본문 바로가기

cospro2급/cospro_2차

2021-05-12

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만 원 상품권을 지급하게 된다. 

 

 

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

'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