티스토리 뷰
#include <stdio.h>
#include <stdlib.h>
#define SZ 100
int stack[SZ];
int top = -1;
int isEmpty()
{
return (top == -1);
}
int isFull()
{
return (top == (SZ - 1));
}
int pop() {
if (isEmpty() == 1) {
return -999;
}
int temp;
temp = stack[top--];
return temp;
}
void push(int n)
{
int if100 = 0;
int popped = 0;
if (isFull() == 1) {
return;
}
if (n == 100) {
while (isEmpty() == 0) {
popped = pop();
if100 = if100 + popped;
}
stack[++top] = if100;
return;
}
stack[++top] = n;
return;
}
int main(void)
{
int n, data;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &data);
push(data);
}
for (int i = 0; i < n; i++) {
if (isEmpty() == 1) {
break;
}
printf("%d ", pop());
}
return 0;
}
'IT > 자료 구조' 카테고리의 다른 글
[데이터 구조]queue 응용문제/소스코드 (0) | 2020.04.13 |
---|---|
[데이터 구조]queue 기본 코드/초간단 이해! (0) | 2020.04.11 |
[데이터구조]스택 구조 기본 코드/초간단 이해하기! (0) | 2020.04.10 |
[데이터 구조] DLL 응용문제/데이터 빈도 출력 (0) | 2020.04.09 |
[데이터 구조]DLL 응용문제/데이터검색/알고리즘 (0) | 2020.04.08 |
댓글