https://www.acmicpc.net/problem/2979
2979번: 트럭 주차
첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장
www.acmicpc.net
풀이 과정
탐색해야할 시간이 1 ~ 100까지 작았기 때문에 시간대별 주차장 상황을 나타내줄 arr[]를 만들었고, arr의 상태를 감시하며 요금을 부과했다.
느낀 점
오타로 10여분 정도 헤맸다. 문제없다고 생각한 코드에서 문제가 발생했을 때, 오타를 보는게 참 어려운 것 같다. 중간 중간 디버깅을 해보며, i와 j를 헷갈려 쓴 곳을 고치고, 3대가 주차되었을 때 요금 합산이 되지 않는 것을 발견하며 오타를 발견하게 되었다.
#include<bits/stdc++.h>
using namespace std;
int ca, cb, cc, in, out, ret;
int arr[101];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> ca >> cb >> cc;
for (int i = 0; i < 3; i++) {
cin >> in >> out;
for (int j = in; j < out; j++) arr[j]++;
}
for (int i = 0; i < 101; i++) {
if (arr[i] == 1) {
ret += ca;
}
else if (arr[i] == 2) {
ret += (cb * 2);
}
else if (arr[i] == 3) {
ret += (cc * 3);
}
}
cout << ret << "\n";
return 0;
}
'알고리즘 : C++ > BaekJoon' 카테고리의 다른 글
백준 11655번 - ROT13 (0) | 2023.05.19 |
---|---|
백준 1159번 - 농구 경기 (0) | 2023.05.19 |
백준 10988번 - 팰린드롬인지 확인하기 (1) | 2023.05.19 |
백준 10808번 - 알파벳 개수 (0) | 2023.05.19 |
백준 2309번 - 일곱 난쟁이 (0) | 2023.05.19 |