[백준 c++] 2979 트럭주차

jw·2022년 2월 3일
0

백준

목록 보기
3/141
post-thumbnail

문제 설명

https://www.acmicpc.net/problem/2979
3대를 주차하려고 하는데 1대를 주차했을때, 2대, 3대를 주차했을 때 각각 주차 요금이 다르다. 총 주차 요금을 출력하는 문제다.

아이디어

처음 코드를 작성했을 때는 int변수를 여러개 만들어서 얘네의 값을 변경하는 식으로 문제를 풀려고 했는데 굉장히 길어지고 복잡해져서 오류를 잡기 힘들었다.

이런 문제는 counting 배열로 풀어야 한다.


전체 코드

#include <iostream>
#include <algorithm>
#include<string>
using namespace std;
int main() {
	int A, B, C, a, b;
	int cnt[104] = {0,};
	int sum=0;
	cin >> A >> B >> C;
    
	for (int i = 0; i < 3; i++) {
		cin >> a >> b;
		for (int j = a; j < b; j++) {
			cnt[j]+=1;
		}
	}
    
	for (int i : cnt) {
		if (i == 1) sum += A;
		if (i == 2) sum += B*2;
		if (i == 3) sum += C * 3;
	}
	cout << sum << endl;
}
profile
다시태어나고싶어요

0개의 댓글