개발/알고리즘
백준 2979 트럭 주차 C++
daisy-day
2021. 1. 3. 17:44
문제
2979번: 트럭 주차
첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장
www.acmicpc.net
코드
#include<bits/stdc++.h>
using namespace std;
int truckCount[101];
int a, b, c, startTime, endTime;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> a >> b >> c;
for (int i = 1; i <= 3; i++)
{
cin >> startTime >> endTime;
for (int j = startTime; j < endTime; j++)
{
truckCount[j]++;
}
}
int cost = 0;
for (int i = 1; i < 100; i++)
{
if (truckCount[i] == 0)
continue;
else if (truckCount[i] == 1)
{
cost += a;
}
else if (truckCount[i] == 2)
{
cost += 2 * b;
}
else if (truckCount[i] == 3)
{
cost += 3 * c;
}
else
continue;
}
cout << cost;
return 0;
}
cost 구할 때 예외처리를 아래와 같이 하면 더 깔끔하다.
for (int i = 1; i < 100; i++)
{
if (truckCount[i])
{
if (truckCount[i] == 1)
{
cost += a;
}
else if (truckCount[i] == 2)
{
cost += 2 * b;
}
else if (truckCount[i] == 3)
{
cost += 3 * c;
}
}
}
걸린 시간
30분