https://www.acmicpc.net/problem/2979

 

2979번: 트럭 주차

첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장

www.acmicpc.net

 

이번 문제는 문제 자체를 이해할 필요가 있다. 어려운 문제는 아니기는 하나 약간 헷갈릴 부분이 있기 때문이다.

문제에서 주차장에 도착한 시간과 떠나는 시간이 주어지는데, 도착한시간은 요금을 부과하고 떠나는 시간은

요금을 부과하지 않아야 문제가 풀리기 때문이다.

 

예를 들어 

예제문제의 '1 6' 이라는 입력값을 받게되면 1분 ~ 5분까지는 요금을 부과하고 떠나는시각인 6분에는 부과하지 않는다는 방식이다

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <bits/stdc++.h>
 
using namespace std;
 
int a,b,c;
int parking[101];
int answer;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    cin >> a >> b >> c;            // a, b, c에 각각의 요금을 입력받는다
    
    for(int i = 0; i < 3; i++)
    {
        int n, m;                // n은 차가 주차장에 들어온시간 / m은 나간시간
        cin >> n >> m;
        for(int j = n; j < m; j++)
        {
            parking[j]++;            // 배열에 주차된 차의 대수를 저장한다
        }
    }
    
    for(int i = 1; i <= 100; i++)            // 해당 시각(분)에 주차장에 있는 차의 대수를 계산하여 요금을 계산한다
    {
        if(parking[i] == 1)
            answer += a;
        else if(parking[i] == 2)
            answer += (b * 2);
        else if(parking[i] == 3)
            answer += (c * 3);
    }
    cout << answer;            
    return 0;
}
cs

'문제풀이' 카테고리의 다른 글

<C/C++> 백준 10808 : 알파벳 개수  (0) 2022.08.10
<C/C++>백준 2309 : 일곱 난쟁이  (0) 2022.08.09

+ Recent posts