본문 바로가기

백준 - 빗물(14719) 본문

알고리즘

백준 - 빗물(14719)

Seongjun_You 2024. 9. 24. 17:15

골드5 간단한 문제를 풀었다.

 

 

 

 

 

계속 양옆의 큰값을 비교해 작은 값을 자기 자신과 빼준다.

자기 자신이 더 크거나 값이 같으면 그냥 넘어간다.

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
	int H, W;
	cin >> H >> W;
	vector<int> data;
	int answer = 0;
	for (int i = 0; i < W; i++) {
		int temp;
		cin >> temp;
		data.push_back(temp);
	}

	for (int i = 1; i < W - 1; i++) {
		int max_left = *max_element(data.begin(), data.begin() + i);
		int max_right = *max_element(data.begin() + i + 1, data.end());

		int min_data = min(max_left, max_right);
		if (min_data <= data[i]) continue;
		else { answer += min_data - data[i];}
		
	}
	cout << answer << endl;
}

 

'알고리즘' 카테고리의 다른 글

백준 - LCA(11437)  (0) 2024.08.01
백준 - 보물섬(2589)  (0) 2024.07.19
백준 - 최소비용 구하기(1916)  (0) 2024.07.16
백준 - Keys(9328)  (0) 2024.04.11
백준 - Sudoku(2239)  (0) 2024.04.04
Comments