https://www.acmicpc.net/problem/17608
๋ฌธ์
์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋์ด๋ง ๋ค๋ฅด๊ณ (๊ฐ์ ๋์ด์ ๋ง๋๊ธฐ๊ฐ ์์ ์ ์์) ๋ชจ์์ด ๊ฐ์ ๋ง๋๊ธฐ๋ฅผ ์ผ๋ ฌ๋ก ์ธ์ด ํ, ์ผ์ชฝ๋ถํฐ ์ฐจ๋ก๋ก ๋ฒํธ๋ฅผ ๋ถ์ธ๋ค. ๊ฐ ๋ง๋๊ธฐ์ ๋์ด๋ ๊ทธ๋ฆผ์์ ๋ณด์ธ ๊ฒ์ฒ๋ผ ์์๋๋ก 6, 9, 7, 6, 4, 6 ์ด๋ค. ์ผ๋ ฌ๋ก ์ธ์์ง ๋ง๋๊ธฐ๋ฅผ ์ค๋ฅธ์ชฝ์์ ๋ณด๋ฉด ๋ณด์ด๋ ๋ง๋๊ธฐ๊ฐ ์๊ณ ๋ณด์ด์ง ์๋ ๋ง๋๊ธฐ๊ฐ ์๋ค. ์ฆ, ์ง๊ธ ๋ณด์ด๋ ๋ง๋๊ธฐ๋ณด๋ค ๋ค์ ์๊ณ ๋์ด๊ฐ ๋์ ๊ฒ์ด ๋ณด์ด๊ฒ ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ 3๊ฐ(6๋ฒ, 3๋ฒ, 2๋ฒ)์ ๋ง๋๊ธฐ๊ฐ ๋ณด์ธ๋ค.
N๊ฐ์ ๋ง๋๊ธฐ์ ๋ํ ๋์ด ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋, ์ค๋ฅธ์ชฝ์์ ๋ณด์์ ๋ช ๊ฐ๊ฐ ๋ณด์ด๋์ง๋ฅผ ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ค๊ณ ํ๋ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์๋ ๋ง๋๊ธฐ์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์ N (2 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๊ณ ์ด์ด์ง๋ N์ค ๊ฐ๊ฐ์๋ ๋ง๋๊ธฐ์ ๋์ด๋ฅผ ๋ํ๋ด๋ ์ ์ h(1 ≤ h ≤ 100,000)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ค๋ฅธ์ชฝ์์ N๊ฐ์ ๋ง๋๊ธฐ๋ฅผ ๋ณด์์ ๋, ๋ณด์ด๋ ๋ง๋๊ธฐ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n, input;
cin >> n;
stack<int> s;
for(int i=0; i<n; i++) {
cin >> input;
while(!s.empty() && s.top() <= input)
s.pop();
s.push(input);
}
cout << s.size();
return 0;
}
/*
*/
'๐๏ธ ICPC Sinchon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ S3][C++] ๋ฐฑ์ค 24511๋ฒ: queuestack (์๊ฐ์ด๊ณผ๋ฅผ ํด๊ฒฐํด๋ณด์) (0) | 2023.01.13 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 1427๋ฒ: ์ํธ์ธ์ฌ์ด๋ (0) | 2023.01.11 |
[BOJ S5][C++] ๋ฐฑ์ค 10814: ๋์ด์ ์ ๋ ฌ (0) | 2023.01.11 |
[BOJ][C++] ๋ฐฑ์ค 11931๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 4 (0) | 2023.01.11 |
[BOJ][C++] ๋ฐฑ์ค 2751๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 2 (0) | 2023.01.11 |