본문 바로가기

cospro2급/cospro_3차

2021-05-15

cospro 5번 문제

여행객의 총 교통비 구하기

 

문제 설명

여행객들의 총 교통비를 계산하려고 한다. 교통편은 "Bus", "Ship", "Airplane" 총 3가지입니다. 나이가 20살 이상이면 어른 요금을, 그렇지 않으면 어린이 요금을 받습니다. 각 교통편별 가격은 다음과 같다.

 

 

여행객들이 10명 이상인 경우 연령에 따라 할인을 받는다.

 

 

여행객들의 나이를 담고 있는 배열 member_age와 memeber_age의 길이 member_age_len, 교통편인 transporation이 매개변수로 주어질 때, 총 교통비를 return 하도록 solution 함수를 완성한다.

 

매개변수 설명

여행객들의 나이를 담고 있는 배열 member_age와 memeber_age의 길이 member_age_len, 교통편인 transporation이 매개변수로 주어진다.

  member_age_len은 1 이상 1000 이하의 자연수이다.

  member_age의 원소는 1 이상 100 이하이다.

  transportation은  "Bus" 또는 "Ship" 또는 "Airplane" 이다.

 

return 값 설명

교통비 총액을 return 한다.

 

예시

 

예시 설명

예시 1) 여행객들의 나이는 [13, 33, 45, 11, 20]이고 교통수단으로 "Bus"를 이용하려 한다.

나이가 20살 미만인 인원은 2명으로 어린이 요금은 30000원이고 나이가 20살 이상인 인원은 3명으로 어른 요금은 120000원이다. 따라서 교통비 총액은 150000원이다. 

 

예시 2) 여행객들의 나이는 [25, 11, 27, 56, 7, 19, 52, 31, 77, 8]이고 교통수단으로는 "Ship"을 이용하려 한다. 

여행객들이 10명 이상이므로 교통비가 할인된다. 나이가 20살 미만인 인원은 4명으로 어린이 요금은 41600원이고 나이가 20살 이상인 인원은 6명으로 어른 요금은 162000원이다. 따라서 교통비 총액은 203600원이다.

 

코드 설명

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int member_age[], int member_age_len, char* transportation) {
	int adult_expense = 0;
	int child_expense = 0;

	if(!strcmp(transportation, "Bus")) {  //버스일 때 요금
		adult_expense = 40000;
		child_expense = 15000;
	}
	else if(!strcmp(transportation, "Ship")) { //배일 때 요금
		adult_expense = 30000;
		child_expense = 13000;
	}
	else if(!strcmp(transportation, "Airplane")) { //비행기일 때 요금
		adult_expense = 70000;
		child_expense = 45000;
	}

	if(member_age_len >= 10) {
		adult_expense = adult_expense*0.9; //10% 할인이므로 낼 금액은 나머지인 90%이다.
		child_expense = child_expense*0.8; //20% 할인이므로 낼 금액은 나머지인 80%이다.
	}
	int total_expenses = 0;
	for(int i = 0; i < member_age_len; i++) {
		if(member_age[i]>=20) //20살 이상인 사람 찾기
			total_expenses += adult_expense;
		else
			total_expenses += child_expense;
	}

	return total_expenses;
}

int main() {
    int member_age1[5] = {13, 33, 45, 11, 20};
    int member_age1_len = 5;
    char* transportations1 = "Bus";
    int ret1 = solution(member_age1, member_age1_len, transportations1);
    printf("solution 함수의 반환 값은 %d 입니다.\n", ret1);
    
    int member_age2[10] = {25, 11, 27, 56, 7, 19, 52, 31, 77, 8};
    int member_age2_len = 10;
    char* transportations2 = "Ship";
    int ret2 = solution(member_age2, member_age2_len, transportations2);
    printf("solution 함수의 반환 값은 %d 입니다.\n", ret2);
}

 

 

 

 

goorm

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

www.goorm.io

 

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

2021-05-16  (0) 2021.05.16
2021-05-15  (0) 2021.05.15
2021-05-14  (0) 2021.05.14
2021-05-13  (0) 2021.05.13
2021-05-13  (0) 2021.05.13