본문 바로가기

cospro2급/cospro_5차

2021-05-24 3번 문제

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

 

문제 설명

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

예를 들어 규정 속도가 100인 도로를 112로 달렸다면 규정 속도 12% 위반하였다. 따라서 규정 속도를 10% 이상 20% 미만 위반하였으므로 벌금 3만 원을 부과한다. 

규정 속도 speed, 도로를 달리는 모든 차의 속도가 담긴 배열 cars, 배열 cars의 길이 car_len이 매개변수로 주어질 때, 총벌금은 몇만 원인지 return 하는 solution 함수를 완성한다.

 

매개변수 설명

규정 속도 speed, 도로를 달리는 모든 차의 속도가 담긴 배열 cars, 배열 cars의 길이 car_len이 매개변수로 주어진다. 

    규정 속도는 30 이상 140 이하이며, 10으로 나누어 떨어지는 숫자이다.

    cars_len은 1 이상 40 이하인 자연수이다.

    모든 차는 0km/h 이항 200km/h 이하로 달린다.

 

return 값 설명

도로를 달리는 모든 차의 벌금은 총 몇만 원인지 return 한다.

 

예시

 

예시 설명

 

코드 설명

#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);
}

    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;
    }

 

첫번째 조건인  if(cars[i] >= speed * 11 / 10 && cars[i] < speed * 12 / 10) 은 10% 이상 20% 이하를 계산하는 프로그램이다. 여기서 20%면 0.2이지만 원래 속도인 speed도 더해줘야하므로 1.2를 곱해야한다. 나머지 경우에도 0.3이 아닌 1.3으로 계산하는 이유이다. 

 

 

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

'cospro2급 > cospro_5차' 카테고리의 다른 글

2021-05-25 / 5번 문제  (0) 2021.05.25
2021-05-25 / 6번 문제  (0) 2021.05.25
2021-05-24 / 4번 문제  (0) 2021.05.24
2021-05-23 / 1번 문제  (0) 2021.05.23
2021-05-23 / 2번 문제  (0) 2021.05.23