반응형
오 너무 간만에 class 써봐서 까먹었다..
그래도 보던것들이 있어서 그런지 검색없이 풀었음 ㅎㅎ
command함수는 없어도 됐는데, main문에 넣기 싫어서 class안에 집어넣었다.
#include <bits/stdc++.h>
using namespace std;
int N, M;
string s;
class stk {
private:
size_t stkpointer;
int ary[100001];
public:
stk() {
stkpointer = 0;
}
void command(string s)
{
if (s == "pop")
this->pop();
else if (s == "size")
this->size();
else if (s == "empty")
this->empty();
else if (s == "top")
this->top();
}
void push(int a) {
this->ary[stkpointer++] = a;
}
void pop() {
if (this->stkpointer==0) cout << "-1" << '\n';
else cout << this->ary[--stkpointer] << '\n';
}
void size() {
cout << this->stkpointer << '\n';
}
void empty() {
if (this->stkpointer == 0) {
cout << '1' << '\n';
}
else {
cout << '0' << '\n';
}
}
void top() {
if (this->stkpointer == 0) cout << "-1" << '\n';
else cout << ary[this->stkpointer - 1] << '\n';
}
};
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> N;
stk s;
for (int i = 0; i < N; i++)
{
string temp_s;
cin >> temp_s;
if (temp_s == "push") {
int temp_i;
cin >> temp_i;
s.push(temp_i);
}
else {
s.command(temp_s);
}
}
}
반응형
'Algorithm > Problem Solve' 카테고리의 다른 글
[백준 11866번] 요세푸스 문제0 (0) | 2020.12.13 |
---|---|
[백준 11650번] 좌표 정렬하기 (vector sort compare사용) (0) | 2020.12.13 |
[백준 10816번] 숫자 카드 2 ( map / 이분탐색(upper,lowerbound) ) (2) | 2020.12.13 |
[백준 10814번] 나이순 정렬 (Stable_sort) (0) | 2020.12.13 |
[백준 2751번] 수 정렬하기2 (0) | 2020.12.13 |