모름

문제

트럭이 주차장에 1대일 때는 A원, 2대일 때는 B원, 3대일 때는 C원이며 트럭이 1~100분 사이에 임의의 시간에 주차되었을 때 총 주차 가격이 얼마인지 계산하는 문제이다.

 

풀이

첫 번째 접근: 1~100분이라는 명시적인 기준이 있기 때문에 이를 배열로 표현하여 각 분별로 차량이 몇 대 주차되어있는지 체크합니다. 

 

두 번째 접근: 시간이 1분~6분이 주어질 때 차량이 주차한 시간은 5분입니다. 즉, 이상 미만을 기준으로 잡고 계산을 해야합니다.

 

세 번째 접근: 1~100분이라는 카운팅 배열에는 주차되어있는 수가 카운트 되어 있습니다. 1대일때는 a가격, 2대 일때는 b가격, 3대 일때는 c가격을 각각 곱해서 총합을 내줍니다.

 

코드

#include <iostream>

using namespace std;

int arr[105];
int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	for(int i = 0; i < 3; i++){
		int start = 0, end = 0;
		cin >> start >> end;
		for(int j = start; j < end; j++){
			arr[j]++;
		}
	}
	
	int sum = 0;
	for(int i = 0; i < 105; i ++){
		if(arr[i] == 1)
			sum += arr[i] * a;
		else if(arr[i] == 2)
			sum += arr[i] * b;
		else if(arr[i] == 3)
			sum += arr[i] * c;
	}
	
	cout << sum;
}