필요 개념
카운팅 배열
특이 사항
떠난 시간에는 주차하지 않은 것으로 간주해야 한다.
해설 코드간 내 코드 간 차이
주차 대수 파악 시, 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 |