// 백준 solved
// 스택 (배열로 구현)
#pragma warning(disable:4996)
#include <stdio.h>
#include <stdlib.h>
typedef int sdata; // 자료형만 바꿔주기
int N;
typedef struct Stack {
sdata* arr;
int top;
}stack;
void stackInit(stack* s,int N) {
s->arr = (sdata*)malloc(sizeof(sdata) * N);
s->top = -1;
}
void push(stack* s, sdata d) {
if (s->top != N - 1) {
s->top++;
s->arr[s->top] = d;
}
}
void pop(stack* s) {
if (s->top != -1) {
printf("%d\n", s->arr[s->top]);
s->top--;
}
else {
printf("-1\n");
}
}
void peek(stack* s) {
if (s->top != -1) {
printf("%d\n", s->arr[s->top]);
}
else {
printf("-1\n");
}
}
int size(stack* s) { return s->top+1; }
int IsEmpty(stack* s) { return s->top == -1; }