중요 지식
stack - 빠른 접근과 마지막에 보내진 값부터 먼저 보기 위함
코드
#include <iostream>
#include <stack>
using namespace std;
int main(){
int N;
stack<int> numbers;
int max=0, count=0;
cin >> N;
for(int i = 0; i < N; i++){
int h;
scanf("%d", &h);
numbers.push(h);
}
while(!numbers.empty()){
int num = numbers.top();
numbers.pop();
if(max < num) {
max = num;
count++;
}
}
cout << count;
return 0;
}
풀이
1. 스택에 값을 넣는다
2. 스택이 빌 때까지 값을 하나하나 꺼낸다
3. 가장 큰 값을 구하면서 구해질때마다 count++을 한다
4. count 출력
'프로그래밍 문제집 > 백준' 카테고리의 다른 글
[KOI 2020 1차대회 중등부] 19942번-다이어트 (0) | 2022.02.27 |
---|---|
[KOI 2020 1차대회 중등부] 19941번-햄버거 분배 (0) | 2022.02.24 |
[KOI 1996 초등부] 2667번-단지번호붙이기 (0) | 2022.02.23 |
1676번-팩토리얼 (미완성) (0) | 2022.02.14 |
7662번-이중 우선순위 큐 (0) | 2022.02.12 |