간단한 문제
맨 오른쪽 값을 기준으로 왼쪽으로 가면서 최대값이 바뀔때마다 카운트해주면 된다.
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 30 31 32 | #include <iostream> #define MAX 100000 using namespace std; int N; int height[MAX]; int cnt; void solved() { int num = height[N - 1]; for (int i = N - 2; i >= 0; i--) { if (num < height[i]) { cnt++; num = height[i]; } } cout << cnt + 1; } int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> height[i]; } solved(); return 0; } | cs |
'Coding > 백준' 카테고리의 다른 글
| 2357번 최솟값과 최댓값 (0) | 2021.03.09 |
|---|---|
| 17609번 회문 (0) | 2021.03.07 |
| 12865번 평범한 배낭 (0) | 2021.03.04 |
| 10874번 이교수님의 시험 (0) | 2021.03.03 |
| 1766번 문제집 (0) | 2021.03.03 |