반응형
벌금을 세금 내듯 내면 안돼요. 벌금 구하기!
문제 설명
모든 속도위반 차량이 낼 벌금이 총 몇만 원인지 알아내려 합니다. 벌금을 매기는 기준은 다음과 같습니다.
기준 | 벌금 |
규정 속도 10% 이상 20% 미만 위반 | 3만원 |
규정 속도 20% 이상 30% 미만 위반 | 5만원 |
규정 속도 30% 이상 위반 | 7만원 |
규정속도 speed, 도로를 달리는 모든 차의 속도가 담긴 배열 cars, 배열 cars의 길이 cars_len이 매개변수로 주어질 때, 총벌금은 몇만 원인지 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
예시
speed | cars | cars_len | return |
100 | [110, 98, 125, 148, 120, 112, 89] | 7 | 23 |
조건 범위
기준 | 범위 |
규정 속도 10% 이상 20% 미만 위반 | 110 ~ (120 - 1) |
규정 속도 20% 이상 30% 미만 위반 | 120 ~ (130 - 1) |
규정 속도 30% 이상 위반 | 130 ~ |
규정 속도(=speed)는 100으로 100의 10%는 10으로 110 이상, 20%는 20으로 110 ~ 120 - 1까지이다.
코드 해석 및 전체 코드
answer ) 도로를 달리는 모든 차의 벌금은 총 몇만 원인지 반환할 변수
for ) i ~ cars_len -1까지 반복한다.
if 1) cars[i]가 speed * 11 / 10 이상이고 speed * 12 / 10 미만이면 벌금은 3만원이다.
speed * 11 = 1100 / 10 = 110
speed * 12 = 1200 / 10 = 120
if (cars[i] >= 110 && cars[i] < 120)
if 2) cars[i]가 speed * 12 / 10 이상이고 speed * 13 / 10 미만이면 벌금은 5만원이다.
speed * 12 = 1200 / 10 = 120
speed * 13 = 1300 / 10 = 130
if (cars[i] >= 120 && cars[i] < 130)
if 3) cars[i]가 speed * 13 / 10 이상이면 벌금은 7만원이다.
speed * 13 = 1300 / 10 = 130
if (cars[i] >= 130)
i | cars[i] | cars[i] >= 110 && cars[i] < 120 |
cars[i] >= 120 && cars[i] < 130 |
cars[i] >= 130 | answer |
0 | 110 | O | +3 | ||
1 | 98 | ||||
2 | 125 | O | +5 | ||
3 | 148 | O | +7 | ||
4 | 120 | O | +5 | ||
5 | 112 | O | +3 | ||
6 | 89 |
따라서 answer는 23이다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int speed, int cars[], int cars_len) {
int answer = 0;
for (int i = 0; i < cars_len; i++) {
if (cars[i] >= speed * 11 / 10 && cars[i] < speed * 12 / 10)
answer += 3;
else if (cars[i] >= speed * 12 / 10 && cars[i] < speed * 13 / 10)
answer += 5;
else if (cars[i] >= speed * 13 / 10)
answer += 7;
}
return answer;
}
int main() {
int speed = 100;
int cars[] = { 110, 98, 125, 148, 120, 112, 89 };
int cars_len = 7;
int ret = solution(speed, cars, cars_len);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
구름 goormedu COS PRO 2급 기출문제 - C언어
[5차] 문제3) 벌금을 세금내듯 내면 안되요. 벌금 구하기!
반응형
'코딩 테스트 > [c언어] cos pro 2급 기출문제' 카테고리의 다른 글
[No.45] n일장이 함께 열리는 날은 언제인가요. / cos pro 2급 c언어 기출 문제 (0) | 2021.05.25 |
---|---|
[No.44] 선수가 획득한 점수를 구해주세요. (feat.전투민족) / cos pro 2급 c언어 기출문제 (0) | 2021.05.24 |
[No.42] 공강시간 구하기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.23 |
[No.41] 사다리 게임의 승자를 구해주세요!/ cos pro 2급 c언어 기출 문제 (0) | 2021.05.23 |
[No.40] XX시험 합격자 수 구하기 / cos pro 2급 c언어 기출 문제 (1) | 2021.05.22 |
댓글