반응형
https://www.acmicpc.net/problem/10828
정답 코드
#include <stdio.h>
#include <string.h>
#define MAX 10000
int stack[MAX];
int high = -1;
void push(int data) {
stack[++high] = data;
};
void pop() {
if (high ==-1) {
printf("-1\n");
return;
}
printf("%d\n", stack[high]);
stack[high--] = 0;
};
void size() {
printf("%d\n", high + 1);
};
void empty() {
if (high == -1) printf("1\n");
else printf("0\n");
};
void top() {
if (high == -1) {
printf("-1\n");
return;
}
printf("%d\n", stack[high]);
};
int main() {
int n,data;
char input[30];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", &input, 30);
if (strcmp(input,"push")==0) {
scanf("%d", &data);
push(data);
}
else if (strcmp(input, "pop") == 0) {
pop();
}
else if (strcmp(input, "size") == 0) {
size();
}
else if (strcmp(input, "empty") == 0) {
empty();
}
else if (strcmp(input, "top") == 0) {
top();
}
}
}
반응형
'백준 문제풀이(Baekjoon)' 카테고리의 다른 글
[Baekjoon] 1152번 : 단어의 개수 (0) | 2020.06.16 |
---|---|
[Baekjoon] 2869번 : 달팽이는 올라가고 싶다 (0) | 2020.06.16 |
[Baekjoon] 4344번 : 평균은 넘겠지 (0) | 2020.06.16 |
[Baekjoon] 2331번 : 분해합 (0) | 2020.06.16 |
[Baekjoon] 11399번 ATM (0) | 2020.06.16 |
댓글