๐Ÿ•๏ธ ICPC Sinchon

[BOJ][C++] ๋ฐฑ์ค€ 17608๋ฒˆ: ๋ง‰๋Œ€๊ธฐ

์„ ๋‹ฌ 2023. 1. 17. 18:47
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/17608

 

17608๋ฒˆ: ๋ง‰๋Œ€๊ธฐ

์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋†’์ด๋งŒ ๋‹ค๋ฅด๊ณ  (๊ฐ™์€ ๋†’์ด์˜ ๋ง‰๋Œ€๊ธฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ) ๋ชจ์–‘์ด ๊ฐ™์€ ๋ง‰๋Œ€๊ธฐ๋ฅผ ์ผ๋ ฌ๋กœ ์„ธ์šด ํ›„, ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ธ๋‹ค. ๊ฐ ๋ง‰๋Œ€๊ธฐ์˜ ๋†’์ด๋Š” ๊ทธ๋ฆผ์—์„œ ๋ณด์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ˆœ์„œ๋Œ€๋กœ

www.acmicpc.net

 

๋ฌธ์ œ

์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋†’์ด๋งŒ ๋‹ค๋ฅด๊ณ  (๊ฐ™์€ ๋†’์ด์˜ ๋ง‰๋Œ€๊ธฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ) ๋ชจ์–‘์ด ๊ฐ™์€ ๋ง‰๋Œ€๊ธฐ๋ฅผ ์ผ๋ ฌ๋กœ ์„ธ์šด ํ›„, ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ธ๋‹ค. ๊ฐ ๋ง‰๋Œ€๊ธฐ์˜ ๋†’์ด๋Š” ๊ทธ๋ฆผ์—์„œ ๋ณด์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ˆœ์„œ๋Œ€๋กœ 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;
}

/*
 */
๋ฐ˜์‘ํ˜•