반응형
상품권 총 지급액 구하기
문제 설명
구매 금액 | 상품권 |
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);
}
구름 goormedu COS PRO 2급 기출문제 - C언어
[2차] 문제10) 상품권 총 지급액구하기
반응형
'코딩 테스트 > [c언어] cos pro 2급 기출문제' 카테고리의 다른 글
[No.22] 장학생 수 구하기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.13 |
---|---|
[No.21] 학생의 등수 구하기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.13 |
[No.19] 투표에 대한 후보 찾기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.12 |
[No.18] 소수의 개수 구하기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.11 |
[No.17] 섭씨, 화씨 온도 바꾸기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.11 |
댓글