알고리즘 문제/백준

[C++] 스택 수열 - 1874

우대비 2022. 11. 14. 17:34
반응형
#include <iostream>
#include <stack>
#include <string>
#include <vector>
using namespace std;

// 1874 스택 수열
string algo(vector<int> v)
{
	int num = 0;
	string str = "";
	stack<int> s;

	for (int i = 1; i < v.size() + 1; i++)
	{
		s.push(i);
		str += "+";

		while (!s.empty() && v[num] == s.top())
		{
			s.pop();
			num++;
			str += "-";
		}
	}

	if (!s.empty())
	{
		cout << "NO";
		str = "";
	}

	return str;
}


int main()
{
	int N = 0;
	int n = 0;
	vector<int> v;

	cin >> N;

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

	string a = algo(v);

	for (int i = 0; i < a.size(); i++)
		cout << a[i] << '\n';
	
	return 0;
}
반응형
LIST

'알고리즘 문제 > 백준' 카테고리의 다른 글

[C++] 에디터(list) - 1406  (0) 2022.11.16
[C++] 큐 - 10845  (0) 2022.11.16
[C++] 괄호 - 9012  (0) 2022.11.13
[c++] 덩치 - 7568  (0) 2022.11.13
[ C++ ] 단어 뒤집기 - 9093  (0) 2022.11.12