2979 트럭 주차

b4failrise ㅣ 2023. 7. 4. 16:16

필요 개념

카운팅 배열

 

특이 사항

떠난 시간에는 주차하지 않은 것으로 간주해야 한다.

 

해설 코드간 내 코드 간 차이

주차 대수 파악 시, 1대 이상 여부를 먼저 파악하여 비교 횟수 축소

 

해설 코드

#include <bits/stdc++.h>
using namespace std;   
int A, B, C, a, b, cnt[104], ret;
int main(){
	cin >> A >> B >> C; 
	for(int i = 0; i < 3; i++){
		cin >> a >> b; 
		for(int j = a; j < b; j++)cnt[j]++;
	}
	for(int j = 1; j < 100; j++){
		if(cnt[j]){
			if(cnt[j] == 1) ret += A;
			else if(cnt[j] == 2)ret += B * 2;
			else if(cnt[j] == 3)ret += C * 3;
		}
	}
	cout << ret << "\n"; 
    return 0;
}

내 코드

#include <iostream>
using namespace std;

int time[105];
int fare;
int main(){
    int a, b, c;
    int t1, t2;
    cin >> a >> b >> c;
    for(int i = 0; i < 3; i++){
        cin >> t1 >> t2;
        for(int j = t1; j < t2; j++){
            time[j]++;
        }
    }
    for(int i = 1; i <= 100; i++){
        if(time[i] == 1)
            fare+=a;
        else if(time[i] == 2)
            fare+=(time[i]*b);
        else if(time[i] == 3)
            fare+=(time[i]*c);
    }
    cout << fare << endl;
}

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

9375 패션왕 신해빈  (0) 2023.07.05
2559 수열  (0) 2023.07.05
9996 한국이 그리울 땐 서버에 접속하지  (0) 2023.07.04
1159 농구 경기  (0) 2023.07.04