문제
코드
#include <stdio.h>
#include <string.h>
int stack[100001];
int count = 0;
void push(int x);
void pop();
void size();
void empty();
void top();
int main() {
int n, x;
char order[6];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", &order);
if (!strcmp(order, "push")) {
scanf("%d", &x);
push(x);
}
else if (!strcmp(order, "pop")) pop();
else if (!strcmp(order, "size")) size();
else if (!strcmp(order, "empty")) empty();
else if (!strcmp(order, "top")) top();
else break;
}
return 0;
}
void push(int x) {
stack[count] = x;
count++;
}
void pop() {
if (count != 0) {
count--;
printf("%d\n", stack[count]);
stack[count] = 0;
}
else printf("%d\n", -1);
}
void size() {
printf("%d\n", count);
}
void empty() {
if (count == 0) printf("%d\n", 1);
else printf("%d\n", 0);
}
void top() {
if (count > 0)
printf("%d\n", stack[count-1]);
else printf("%d\n", -1);
}
'Software > C' 카테고리의 다른 글
[Baekjoon C] 1152 단어의 개수 (0) | 2021.02.19 |
---|---|
[Baekjoon C] 1259 팰린드롬수 (0) | 2021.02.18 |
[Baekjoon C] 10818 최소, 최대 (0) | 2021.02.15 |
[Baekjoon C] 2753 윤년 (0) | 2021.01.31 |
[Baekjoon C] 2884 알람시계 (0) | 2021.01.31 |