[Algorithm #03] 2979 - 트럭주차 (C++)

이석환·2023년 4월 2일

Algorithm

목록 보기
4/16

문제 해결 전략
1. counting 배열을 이용하여 입력받는 start와 end까지 수를 증가시킴
2. 3대 밖에 없기 때문에 배열 값의 범위는 1 ~ 3인 것을 이용하여 분기문 작성
3. 문제에서 주어주는 시간은 1과 100 사이이기 때문에 그 동안에 트럭이 몇 대가 몇 분동안 있는 지 분기문을 통해 구하고 요금을 곱해준다.

#include <iostream>

using namespace std;

int truck[101] = {0,};

int main(void) {
    int a, b, c;
    cin >> a >> b >> c;
    int start, end;
    int result = 0;

    for (int i = 0; i < 3; i++) {
        cin >> start >> end;
        for (int j = start; j < end; j++) { // 이상, 미만
            truck[j]++;
        }
    }

    for (int i = 1; i <= 100; i++) {
        if (truck[i] == 1)
            result += a;
        else if (truck[i] == 2)
            result += b * 2;
        else if (truck[i] == 3)
            result += c * 3;
        else
            continue;
    }
    cout << result << "\n";
}

소감
시간을 그림으로 그려서 트럭이 들어가있는 시간을 구하면 쉽게 풀 수 있는 문제였다.

profile
반갑습니다.

0개의 댓글