#include <stdio.h>
#include <stdlib.h>
#define STACK_SIZE 100
typedef int element;
element stack[STACK_SIZE]; // 세미콜론 추가
int top = -1; // 세미콜론 추가
int isEmpty() {
return top == -1;
}
int isFull() {
return top == STACK_SIZE - 1;
}
void push(element item) {
if (isFull()) {
return;
}
stack[++top] = item;
}
element pop() {
if (isEmpty()) {
printf("\nStack is Empty!\n"); return 0;
}
return stack[top--];
}
element peek() {
if (isEmpty()) {
printf("\nStack is Empty!\n"); }
return stack[top];
}
void printStack() {
int i;
for (i = 0; i <= top; i++) {
printf("%d ", stack
[i
]); // 요소 사이에 공백 추가 }
}
int main(void) { // void main → int main 변경 (표준 준수)
element item;
printStack();
push(1); printStack();
push(2); printStack();
push(3); printStack();
item = peek();
printStack();
item = pop();
printStack();
printf("\tpop => %d\n", item
);
item = pop();
printStack();
printf("\tpop => %d\n", item
);
item = pop();
printStack();
printf("\tpop => %d\n", item
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2RlZmluZSBTVEFDS19TSVpFIDEwMAoKdHlwZWRlZiBpbnQgZWxlbWVudDsKZWxlbWVudCBzdGFja1tTVEFDS19TSVpFXTsgIC8vIOyEuOuvuOy9nOuhoCDstpTqsIAKaW50IHRvcCA9IC0xOyAgLy8g7IS466+47L2c66GgIOy2lOqwgAoKaW50IGlzRW1wdHkoKSB7CiAgICByZXR1cm4gdG9wID09IC0xOwp9CgppbnQgaXNGdWxsKCkgewogICAgcmV0dXJuIHRvcCA9PSBTVEFDS19TSVpFIC0gMTsKfQoKdm9pZCBwdXNoKGVsZW1lbnQgaXRlbSkgewogICAgaWYgKGlzRnVsbCgpKSB7CiAgICAgICAgcHJpbnRmKCJcblN0YWNrIGlzIEZ1bGxcbiIpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHN0YWNrWysrdG9wXSA9IGl0ZW07Cn0KCmVsZW1lbnQgcG9wKCkgewogICAgaWYgKGlzRW1wdHkoKSkgewogICAgICAgIHByaW50ZigiXG5TdGFjayBpcyBFbXB0eSFcbiIpOwogICAgICAgIHJldHVybiAwOwogICAgfQogICAgcmV0dXJuIHN0YWNrW3RvcC0tXTsKfQoKZWxlbWVudCBwZWVrKCkgewogICAgaWYgKGlzRW1wdHkoKSkgewogICAgICAgIHByaW50ZigiXG5TdGFjayBpcyBFbXB0eSFcbiIpOwogICAgICAgIGV4aXQoMSk7ICAvLyBFeGl0IO2VqOyImCDsiJjsoJUKICAgIH0KICAgIHJldHVybiBzdGFja1t0b3BdOwp9Cgp2b2lkIHByaW50U3RhY2soKSB7CiAgICBpbnQgaTsKICAgIHByaW50ZigiXG5TdGFjayBbICIpOwogICAgZm9yIChpID0gMDsgaSA8PSB0b3A7IGkrKykgewogICAgICAgIHByaW50ZigiJWQgIiwgc3RhY2tbaV0pOyAgLy8g7JqU7IaMIOyCrOydtOyXkCDqs7XrsLEg7LaU6rCACiAgICB9CiAgICBwcmludGYoIl1cbiIpOwp9CgppbnQgbWFpbih2b2lkKSB7ICAvLyB2b2lkIG1haW4g4oaSIGludCBtYWluIOuzgOqyvSAo7ZGc7KSAIOykgOyImCkKICAgIGVsZW1lbnQgaXRlbTsKICAgIHByaW50Zigi7Iic7LCoIOyKpO2DnSDsl7DsgrBcbiIpOwogICAgcHJpbnRTdGFjaygpOwogICAgCiAgICBwdXNoKDEpOyBwcmludFN0YWNrKCk7CiAgICBwdXNoKDIpOyBwcmludFN0YWNrKCk7CiAgICBwdXNoKDMpOyBwcmludFN0YWNrKCk7CiAgICAKICAgIGl0ZW0gPSBwZWVrKCk7CiAgICBwcmludFN0YWNrKCk7CiAgICBwcmludGYoInBlZWsgPT4gJWRcbiIsIGl0ZW0pOwogICAgCiAgICBpdGVtID0gcG9wKCk7CiAgICBwcmludFN0YWNrKCk7CiAgICBwcmludGYoIlx0cG9wID0+ICVkXG4iLCBpdGVtKTsKICAgIAogICAgaXRlbSA9IHBvcCgpOwogICAgcHJpbnRTdGFjaygpOwogICAgcHJpbnRmKCJcdHBvcCA9PiAlZFxuIiwgaXRlbSk7CiAgICAKICAgIGl0ZW0gPSBwb3AoKTsKICAgIHByaW50U3RhY2soKTsKICAgIHByaW50ZigiXHRwb3AgPT4gJWRcbiIsIGl0ZW0pOwogICAgCiAgICByZXR1cm4gMDsKfQo=