본문 바로가기
코딩 테스트/[c언어] cos pro 2급 기출문제

[No.20] 상품권 총 지급액 구하기 / cos pro 2급 c언어 기출 문제

by M개발자 2021. 5. 12.
반응형

상품권 총 지급액 구하기


문제 설명

 

구매 금액 상품권
100만원 이상 구매 5만원 상품권
60만원 이상 구매 3만원 상품권
40만원 이상 구매 2만원 상품권
20만원 이상 구매 1만원 상품권

 

상품권은 지급 가능한 가장 큰 금액으로 한 장만 지급합니다.

 

고객들의 구매 금액이 들어있는 배열 purchase와 purchase의 길이 purchase_len이 주어질 때, 고객들에게 지급해야 하는 상품권 총액을 return 하도록 solution 함수를 작성했습니다.

그러나, 코드 일부분이 잘못되어있기 때문에 올바르게 동작하지 않으므로 한 줄만 변경해서 올바르게 동작하도록 수정하세요.

 


예시

 

purchase purchase_len return
[150000, 210000, 399990, 990000, 1000000] 5 100,000

 


수정해야 할 코드

더보기
int solution(int purchase[], int purchase_len) {
    int total = 0;
    for(int i = 0; i < purchase_len; ++i){
        if(purchase[i] >= 1000000)
            total += 50000;
        else if(purchase[i] >= 600000)
            total += 30000;
        else if(purchase[i] >= 400000)
            total += 20000;
        else if(purchase[i] >= 200000)
            total += 10000;
    }
    return total;
}

 

수정

 

else
→ else if(purchase[i] >= 200000)

 

purchase의 배열 값이 100만 원 이상이 아니고, 60만 원 이상이 아니고 40만 원 이상이 아닐 시 상품권으로 1만 원을 주는 것이 아니라 

20만 원 이상 구매 시 상품권으로 1만원을 주는 것이므로 else if 문을 사용해야 한다. 

 

코드 해석 및 전체 코드

 

purchase[i] purchase[i]의 내용 total
purchase[0] 150,000  
purchase[1] 210,000 0 + 10,000
= 10,000
purchase[2] 399,990 10,000 + 10,000
= 20,000
purchase[3] 990,000 20,000 + 30,000
=50,000
purchase[4] 1,000,000 50,000 + 50,000
=100,000

 

#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)
            total += 50000;
        else if (purchase[i] >= 600000)
            total += 30000;
        else if (purchase[i] >= 400000)
            total += 20000;
        else if (purchase[i] >= 200000)
            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);
}

cos pro 2급 기출문제

github

 

구름 goormedu COS PRO 2급 기출문제 - C언어

[2차] 문제10) 상품권 총 지급액구하기

반응형

댓글