Algorithm

[백준 - 10828번] 스택

1984 2022. 1. 23. 22:32
  • 스택 구현 문제
  • 그냥 vector 쓰면 된다.

 

#include <iostream>
#include <vector>

using namespace std;


int main(void)
{
	int N;
	cin >> N;
	string cmd;
	int num;
	vector <int> v;


	for (size_t i = 0; i < N; i++)
	{
		cin >> cmd;

		if (cmd == "push")
		{
			cin >> num;
			v.push_back(num);
		}
		else if (cmd == "pop")
		{
			if (v.empty())
			{
				cout << -1 << '\n';
			}
			else
			{
				cout << v.back() << '\n';
				v.pop_back();
			}
		}
		else if (cmd == "size")
		{
			cout << v.size() << '\n';
		}
		else if (cmd == "empty")
		{
			cout << v.empty() << '\n';
		}
		else if (cmd == "top")
		{
			if (v.empty())
			{
				cout << -1 << '\n';
			}
			else
			{
				cout << v.back() << '\n';
			}
		}

	}
	return 0;
}

 

[참고 자료]

728x90