문제 URL : https://www.acmicpc.net/problem/6198
6198번: 옥상 정원 꾸미기
문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으
www.acmicpc.net
문제 접근법 :
자신의 위치에서 연속된 작은것들의 갯수를 구하는 문제입니다.
stack을 이용하면 풀수있는문제이기때문에
코드를 보면 직관적으로 이해하실수 있을겁니다.
소스코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int n;
void input() {
cin >> n;
v.resize(n);
for (int i = 0; i < n; i++)
cin >> v[i];
}
void solve() {
stack<int> st;
long long sum = 0;;
for (int t : v) {
while(!st.empty() && st.top() <= t)st.pop();
sum += st.size();
st.push(t);
}
cout << sum << endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
//freopen("input.txt", "r", stdin);
input();
solve();
}
|
cs |
궁금한점 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다.
'백준' 카테고리의 다른 글
백준 17140 이차원 배열과 연산 (0) | 2022.03.29 |
---|---|
백준 2638 치즈 (0) | 2022.03.29 |
백준 16724 피리 부는 사나이 (0) | 2022.03.22 |
백준 17298 오큰수 (0) | 2022.03.20 |
백준 7453 합이 0인 네 정수 (0) | 2022.03.07 |