https://www.acmicpc.net/problem/1874
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int>nums(n);
for (int i = 0; i < n; i++)
cin >> nums[i];
stack<int> s;
s.push(0);
string str = "";
int num = 1;
for (int i = 0; i < n; i++)
{
while (s.top() < nums[i])
{
s.push(num);
num++;
str += "+";
}
if (s.top() == nums[i]) {
s.pop();
str += "-";
}
else
{
cout << "NO";
return 0;
}
}
for (auto v : str)
cout << v << "\n";
return 0;
}
'백준' 카테고리의 다른 글
2164번: 카드2 (0) | 2024.05.05 |
---|---|
17298번 : 오큰수 구하기 (0) | 2024.05.04 |
11003번: 최솟값 찾기 (0) | 2024.05.02 |
12891번: DNA 비밀번호 (0) | 2024.04.30 |
1940번: 주몽 (0) | 2024.04.24 |