[백준] 1874 스택 수열 C++

2048 단어 baekjoonbaekjoon

문제

코드

#include <iostream>
#include <stack>
#include <vector>
using namespace std;

// 스택 수열

int main() {
  ios::sync_with_stdio(0);

  int n;
  cin >> n;

  vector<int> v;
  vector<char> v2;
  int num;

  for(int i=0; i<n; i++) {
    cin >> num;
    v.push_back(num);
  }

  stack<int> st;
  int j=0;
  for(int i=1; i<=n; i++) {
    st.push(i);
    v2.push_back('+');

    while(!st.empty() && st.top()==v[j]) {
      st.pop();
      v2.push_back('-');
      j++;
    }
  }

  if(!st.empty()) { cout << "NO\n"; }
  else {
    for(int i=0; i<v2.size(); i++) {
      cout << v2[i] << '\n';
    }
  }


  return 0;
}

📢

NO가 나오지 않는 경우 즉, + -를 출력하는 경우는 잘 됐는데 NO를 출력하는 입력에서 맞는 출력이 나오지 않아서 조금 헤맸다.

어려운 문제가 아니었는데🙄

좋은 웹페이지 즐겨찾기