#include <iostream>
#include <queue>
#include <stack>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
queue<int> permut; // 입력받은 수
for (int i = 0;i < n; i++)
{
int num;
cin >> num;
permut.push(num);
}
queue<char> result; // '+', '-' 출력 결과값
stack<int> s;
int num = 1;
while (!permut.empty())
{
int front = permut.front(); // 뽑아내야하는 수열의 수
if (!s.empty() && front == s.top()) // 뽑아내야하는 수이면 뽑아낸다.
{
result.push('-');
s.pop();
permut.pop();
continue;
}
else
{
if (num > n) // 수열을 만들 수 없는 경우
break;
result.push('+');
s.push(num++);
}
}
if (!permut.empty())
cout << "NO";
else
{
while (!result.empty())
{
cout << result.front() << '\n';
result.pop();
}
}
return 0;
}
댓글남기기