본문 바로가기
코테/백준

[백준] 17608 막대기 - C++

by gayoungeeda 2023. 7. 18.
728x90

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

 

문제 설명


문제 풀이

 

우측에서 봤을 때 앞의 막대기보다 높은 막대기가 보이게 되는데 입력은 좌측부터 받게 되므로 현재 수보다 작은 수만 스택에 쌓아준다.

#include<stdio.h>
int stick[100000];
int main()
{
    int n, i, h, key = -1;
    scanf("%d", &n);

    for(i = 0; i < n; i++) {
        scanf("%d", &h);
        while(stick[key] <= h) {
            if(key == -1) break;
            key--;
        }
        stick[++key] = h;
    }

    printf("%d", key+1);

    return 0;
}

'코테 > 백준' 카테고리의 다른 글

[백준] 1764 듣보잡 - C++  (0) 2023.07.19
[백준] 10798 세로읽기 - C++  (0) 2023.07.19
[백준] 10828 스택 - C++, Java  (0) 2023.07.18
[백준] 19941 햄버거 분배 - C++  (0) 2023.07.18
[백준] 10163 색종이 - C++  (0) 2023.07.18