Algorithm/백준

[백준] 10828 스택 with C++

nowkoes 2023. 5. 8. 14:54

문제설명


입출력 예제


개념

 기본적인 스택을 잘 이해하고 있는지 확인하는 문제다. 입력받은 문자열에 맞게 스택의 동작을 수행하게끔 작성하면 쉽게 해결할 수 있다.


풀이

#include <iostream>
#include <stack>

int main()
{
	std::stack<int> st;
	int N, n;
	std::cin >> N;

	while (N--)
	{
		std::string str;

		std::cin >> str;

		if (str == "push")
		{
			std::cin >> n;
			st.push(n);
		}

		else if (str == "top")
		{
			if (!st.empty())
				std::cout << st.top() << '\n';
			else
				std::cout << "-1\n";
		}

		else if (str == "size")
			std::cout << st.size() << '\n';

		else if (str == "empty")
			std::cout << st.empty() << '\n';

		else if (str == "pop")
		{
			if (!st.empty())
			{
				std::cout << st.top() << '\n';
				st.pop();
			}
			else
				std::cout << "-1\n";
		}
	}
}

 

반응형