BOJ 1874 스택 수열 c++

백준 1874 스택 수열 cpp


#include <bits/stdc++.h>
using namespace std;

stack<int> S;
int arr[100005];

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    int ea;
    cin >> ea;
    int mx = 0;
    for (int i = 0; i < ea; i++) {
        cin >> arr[i];
        if (arr[i] > mx) {
            mx = arr[i];
            continue;
        }
        else {
            if (arr[i] > arr[i-1]){
                cout << "NO";
                return 0;
            }
        }
    }
    int i = 1;
    S.push(0);
    int cur = 0;
    while (true) {
        if (S.top() < arr[cur]) {
            S.push(i++);
            cout << "+\n";
            continue;
        }
        else if (S.top() == arr[cur]) {
            cout << "-\n";
            cur++;
            S.pop();
            if (cur == ea)
                break;
        }
    }

}

'Algorithm' 카테고리의 다른 글

BOJ 6198 c++ 옥상 정원 꾸미기  (0) 2020.08.26
BOJ 2493 탑 c++  (0) 2020.08.22
BOJ 10773 제로 c++  (0) 2020.08.18
BOJ 1158 요세푸스 c++  (0) 2020.08.17
BOJ 5397 키로거 c++  (0) 2020.08.16
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom