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

[No.43] 벌금을 세금 내듯 내면 안돼요. 벌금 구하기! / cos pro 2급 c언어 기출 문제

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

벌금을 세금 내듯 내면 안돼요. 벌금 구하기!


문제 설명

 

모든 속도위반 차량이 낼 벌금이 총 몇만 원인지 알아내려 합니다. 벌금을 매기는 기준은 다음과 같습니다. 

 

기준 벌금
규정 속도 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);
}

 

 


cos pro 2급 기출문제

github

 

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

[5차] 문제3) 벌금을 세금내듯 내면 안되요. 벌금 구하기!

 

 

반응형

댓글