DataStructure_stack_10828
백준 자료구조의 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;
}
개인이 공부하고 포스팅하는 블로그입니다. 작성한 글 중 오류나 틀린 부분이 있을 경우 과감한 지적 환영합니다!