STUDYING/Algorithm
[BOJ] 1874 : 스택 수열
EOZIN
2018. 10. 18. 10:08
728x90
문제
풀이
백준 상에서 틀리다고 나온다 ㅜㅜ 왜 틀렸는지 모르겠다!! 나중에 다시 풀어보는걸로....
코드
#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;
}