#65. [백준_C언어] 10773 : 제로 \ 스택

 

 입력코드 

#include <stdio.h>
#define MAX 100000

int stack[MAX];
int top = -1;

void push(int data) {
	if (top >= MAX - 1)
		return;
	stack[++top] = data;
}

void pop() {
	if (top < 0)
		return;
	stack[top--] = 0;
}

main() {
	int K;
	int data, sum = 0;
	scanf("%d", &K);

	while (K--) {
		scanf("%d", &data);
		if (data == 0)
			pop();
		else
			push(data);
	}

	for (int i = 0; i <= top; i++) {
		sum += stack[i];
	}
	printf("%d\n", sum);
}

 

 

 코드설명 

#구현 #자료구조 #문자열 #스택

void push(char data) {
	if (!isFull()) {
		top++;
		stack[top] = data;
	}
}
#include <stdio.h>
#define MAX 100000

int stack[MAX];
int top = -1;

void push(int data) {
	if (top >= MAX - 1)
		return;
	stack[top++] = data;
}

 


 

void pop() {
	if (!isEmpty()) {
		char temp = stack[top];
		top--;
		return temp;
	}
}
void pop() {
	if (top < 0)
		return;
	stack[top--] = 0;
}

 

 

References

wtg-study.tistory.com/19

 

[C언어] 백준 10773 : 제로

백준 10773 : 제로 문제 링크: https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리

wtg-study.tistory.com

2018-start.tistory.com/121

 

[백준] 10773 제로 (C언어)

#include int cnt = 0; int stack[100000]; void push(int n){     stack[cnt] = n;     cnt++; } void pop(){     cnt--;     stack[cnt] = 0; } int main() {     int inputNu..

2018-start.tistory.com

 

 

 

 문제출처 

www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net