STUDYING/Algorithm

[BOJ] 1874 : 스택 수열

EOZIN 2018. 10. 18. 10:08
728x90


문제


1874 : 스택 수열


풀이


백준 상에서 틀리다고 나온다 ㅜㅜ 왜 틀렸는지 모르겠다!! 나중에 다시 풀어보는걸로....


코드


#include <stdio.h>

#include <stack>

using namespace std;


int n;

int num[100001];

int ans[100001];

int ansIn = -1;

stack<int> st;


int main() {

    scanf("%d", &n);

    

    for (int i=0; i<n; i++) {

        scanf("%d", &num[i]);

    }

    

    int pos = 0;

    for(int i=1; i<=n; i++){

        st.push(i);

        ans[++ansIn] = '+';

        while (!st.empty() && st.top() == num[pos]) {

            pos++;

            st.pop();

            ans[++ansIn] = '-';

        }

    }

    

    if(!st.empty()){

        printf("NO");

        return 0;

    }

    else

        for (int i=0; i<ansIn; i++) {

            printf("%c\n",ans[i]);

        }

    return 0;

}