DataStructure_stack_10828

less than 1 minute read

백준 자료구조의 10828번 문제 스택을 풀이해보도록 하겠습니다.

문제 URL : https://www.acmicpc.net/problem/10828

선수지식으로는 스택 추상 자료구조와 그 연산의 이해겠네요!

Source Code :

#include<iostream>
#include<stack>
#include<string>
/*#include<vector>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<cstring>
#include<functional>
#include<cmath>
#include<stack>*/

// #define SIZE 1010

using namespace std;

// typedef long long int ll;


int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	/* 변수 선언 */
	stack<int> s;
	int n;
	string str;

	/* 입력 */
	cin >> n;

	/* 처리 & 출력 */
	for (int i = 0; i < n; i++) {
		cin >> str;

		if (str == "push") {
			int tmpNum;
			cin >> tmpNum;
			s.push(tmpNum);
		}
		else if (str == "pop") {
			if (!s.empty()) {
				cout << s.top() << endl;
				s.pop();
				continue;
			}
			cout << "-1" << endl;
		}
		else if (str == "size") {
			cout << s.size() << endl;
		}
		else if (str == "empty") {
			if (!s.empty()) {
				cout << "0" << endl;
				continue;
			}
			cout << "1" << endl;
		}
		else if (str == "top") {
			if (!s.empty()) {
				cout << s.top() << endl;
				continue;
			}
			cout << "-1" << endl;
		}
	}

	//cin >> n;
	return 0;
}





개인이 공부하고 포스팅하는 블로그입니다. 작성한 글 중 오류나 틀린 부분이 있을 경우 과감한 지적 환영합니다!

Categories:

Updated: