피너클의 it공부방
백준 17608 막대기 (c++) : 피너클 본문
728x90
반응형
문제 : https://www.acmicpc.net/problem/17608
가장 오른쪽막대기를 기준으로 잡고
기준 막대기보다 큰 막대기를 찾으면 기준 막대기를 바꾸고 보이는 막대기 개수를 올린다.
위 행동을 계속 반복하면 된다.
무조건 하나는 보이기 때문에 처음 값을 1로 잡지 않으면 틀린다.
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
|
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n;
vector<int> v;
int main()
{
cin >> n;
for (int i = 0; i < n; i++) {
int a;
cin >> a;
v.push_back(a);
}
int sol = 1, now = v[n-1];
for (int i = n - 1; i >= 0; i--) {
if (v[i] > now) {
sol += 1;
now = v[i];
}
}
cout << sol << endl;
}
|
728x90
반응형
'백준' 카테고리의 다른 글
백준 12851 숨바꼭질 (c++) : 피너클 (0) | 2022.04.19 |
---|---|
백준 2470 두 용액 (c++) : 피너클 (0) | 2022.04.18 |
백준 9019 DSLR (c++) : 피너클 (0) | 2022.04.18 |
백준 1916 최소비용 (c++) : 피너클 (0) | 2022.04.16 |
백준 17609 회문 (c++) : 피너클 (0) | 2020.02.02 |
Comments