https://www.acmicpc.net/problem/17608
[난이도] Bronze3
[유형] 구현
[풀이]
우측에서 바라봤을 때 현재 보이는 막대기의 높이만 cur 저장해주면서
다음 막대가 cur보다 높으면 cur을 이 막대의 높이로 업데이트 하고 정답에 1을 더해줍니다.
만약 cur보다 작으면 보이지 않는 막대이므로 무시해줍니다.
#include <cstdio>
using namespace std;
int N,ans,cur,a[100000];
int main(){
scanf("%d",&N);
for(int i=0;i<N;i++) scanf("%d",&a[i]);
for(int i=N-1;i>=0;i--) {
if(a[i]>cur){
cur=a[i];
ans++;
}
}
printf("%d",ans);
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Bronze3/17608.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Silver1] 17610 : 양팔저울 (C++) (0) | 2022.07.04 |
---|---|
[BOJ/백준][Silver1] 17609 : 회문 (C++) (0) | 2022.07.04 |
[BOJ/백준][Gold3] 2830 : 행성 X3 (C++) (0) | 2022.05.29 |
[BOJ/백준][Gold5] 12919 : A와 B 2 (C++) (0) | 2022.05.29 |
[BOJ/백준][Gold5] 2617 : 구슬 찾기 (C++) (0) | 2022.05.29 |