728x90
반응형

백준 10828 스택 문제를 1차원 배열을 사용하여 풀어보세요

#include <iostream>
using namespace std;
int main()
{
	int stack[10001];
	int sp = 0;
	int n, i, a;
	string st;
	
	cin >> n;
	
	for(i=0;i<n;i++)
	{
		cin >> st;
		if(st.compare("push") == 0)
		{
			cin >> a;
			
			stack[sp] = a;
			sp++;
			
		}
		else if(st.compare("pop") == 0)
		{
			if(sp == 0)
			{
				cout << -1 << '\n';
			}
			else
			{
				cout << stack[sp-1] << '\n';
				sp--;
			}
			
		}
		else if(st.compare("size") == 0)
		{
			cout << sp << '\n';
		}
		else if(st.compare("empty") == 0)
		{
			if(sp == 0)
			{
				cout << 1 << '\n';
			}
			else
			{
				cout << 0 << '\n';
			}
			
		}
		else if(st.compare("top") == 0)
		{
			if(sp == 0)
			{
				cout << -1 << '\n';
			}
			else
			{
				cout << stack[sp-1] << '\n';
			}			
		}			
	}
	return 0; 
}
반응형
Posted by 명문코딩컴퓨터
,