반응형
5차 문제 8
문제 설명
상수도 요금을 계산하려 합니다. 가정용 상수도 사용요금 계산방법은 아래와 같습니다.
단계 | 사용량 | 요금 |
1단계 | 0 ~ 20 톤 | 430원 |
2단계 | 21 ~ 30 톤 | 570원 |
3단계 | 31톤 이상 | 840원 |
사용료는 사용량에 따라 단계별로 적용됩니다. 예를 들어, 물을 35톤 사용했다면 다음과 같은 방식으로 계산합니다.
* 1단계 적용 : 20톤 x 430원 = 8,600원
* 2단계 적용 : 10톤 x 570원 = 5,700원
* 3단계 적용 : 5톤 x 840원 = 4,200원
총 사용요금 : 18,500원
상수도 사용량 usage가 매개변수로 주어질 때, 사용요금을 return 하도록 solution 함수를 작성했습니다.
그러나, 코드 일부분이 잘못되어있기 때문에 올바르게 동작하지 않으므로 한 줄만 변경해서 올바르게 동작하도록 수정하세요.
예시
usage | return |
35 | 18500 |
수정해야 할 코드
더보기
int solution(int usage) {
int answer = 0;
if (usage > 30)
answer = 20 * 430 + 10 * 570 + (usage - 20) * 840;
else if (usage > 20)
answer = 20 * 430 + (usage - 20) * 570;
else
answer = usage * 430;
return answer;
}
수정
if (usage > 30) answer = 20 * 430 + 10 * 570 + (usage - 20) * 840; → answer = 20 * 430 + 10 * 570 + (usage - 30) * 840; |
20 * 430 : 20톤의 요금 계산
10 * 570 : 10톤의 요금 계산으로
20톤과 10톤의 요금을 구했기 때문에 usage에서 30톤을 뺀 값을 840으로 곱해야 한다.
코드 해석 및 전체 코드
answer ) 사용 요금을 반환할 변수
if (usage > 30)
usage가 30톤을 초과할 경우 1단계 계산 후 2단계 계산, 3단계 계산으로 차례대로 계산한다.
1단계 : 20 * 430 (기준 : ~ 20톤)
2단계 : 10 * 570 (기준 : ~ 30톤) 20 + 10은 30톤으로 20톤을 초과한 만큼의 요금을 구한다.
3단계 : (usage - 30) * 840 (기준 : 31톤 ~ ) 30톤을 초과한 만큼의 요금을 구한다.
else if (usage > 20)
usage가 20톤을 초과할 경우 1단계 계산 후 2단계 계산으로 차례대로 계산한다.
1단계 : 20 * 430 (기준 : ~ 20톤)
2단계 : (usage - 20) * 570 (기준 : ~ 30톤) 20톤을 초과한 만큼의 요금을 구한다.
else
usage가 20톤 이하일 경우 1단계만 계산한다.
1단계 : usage * 430
usage는 35톤으로
20 * 430 + 10 * 570 + (35 - 30) * 840 = 8600 + 5700 + 4200 = 18,500
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int usage) {
int answer = 0;
if (usage > 30)
answer = 20 * 430 + 10 * 570 + (usage - 30) * 840;
else if (usage > 20)
answer = 20 * 430 + (usage - 20) * 570;
else
answer = usage * 430;
return answer;
}
int main() {
int usage = 35;
int ret = solution(usage);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
구름 goormedu COS PRO 2급 기출문제 - C언어
반응형
'코딩 테스트 > [c언어] cos pro 2급 기출문제' 카테고리의 다른 글
[No.50] 가장 오래 일한 사람을 구해주세요 / cos pro 2급 c언어 기출 문제 5차 문제 10 (0) | 2021.05.27 |
---|---|
[No.49] 시험 등수 구하기 / cos pro 2급 c언어 기출 문제 5차 문제 9 (0) | 2021.05.27 |
[No.47] 계산대 두 개에서 계산 시간을 구해주세요! / cos pro 2급 c언어 기출 문제 5차 문제 7 (0) | 2021.05.26 |
[No.46] 이제 수학 시험에 모든 걸 건다. 평균 70을 위하여! / cos pro 2급 c언어 기출 문제 (0) | 2021.05.25 |
[No.45] n일장이 함께 열리는 날은 언제인가요. / cos pro 2급 c언어 기출 문제 (0) | 2021.05.25 |
댓글