#include <stdio.h>
#include <string.h>
int main()
{
int stack[10000]; //스택이 될 배열
int stacki = 0;
int N; //주어지는 명령의 수
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
char cmd[6]; // 입력 배열
scanf("%s", cmd);
if (strcmp(cmd, "push") == 0) {
int value;
scanf(" %d", &value);
stack[stacki] = value;
stacki++;
}
else if (strcmp(cmd, "pop") == 0) {
if (stacki == 0) //스택에 들어있는 정수가 없다면
printf("-1\n");
else {
printf("%d\n", stack[stacki-1]);
stacki--; //가장 위에 있는 정수를 빼기
}
}
else if (strcmp(cmd, "size") == 0) {
printf("%d\n", stacki);
}
else if (strcmp(cmd, "empty") == 0) {
if (stacki == 0)//스택이 비어있으면
printf("1\n");
else
printf("0\n");
}
else if (strcmp(cmd, "top") == 0) {
if (stacki == 0) //스택에 들어있는 정수가 없다면
printf("-1\n");
else
printf("%d\n", stack[stacki - 1]);//스택의 가장 위에 있는 정수
}
}
}
다시 풀어보기
'🧐 Algorithm' 카테고리의 다른 글
알고리즘 공부 방법 (0) | 2021.01.27 |
---|---|
[백준 10845번 C/C언어] 큐 (0) | 2021.01.22 |
[백준 1110번 C/C언어] 더하기 사이클 (0) | 2021.01.22 |
[백준 2442번 2443번 2444번 2446번 Java] 별찍기 5~9 (0) | 2021.01.22 |
[백준 2438번 2439번 2440번 2441번 Java] 별찍기 1~4 (0) | 2021.01.22 |