입력코드
#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
[C언어] 백준 10773 : 제로
백준 10773 : 제로 문제 링크: https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리
wtg-study.tistory.com
[백준] 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
문제출처
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
'C' 카테고리의 다른 글
#67. [백준_C언어] 1966 : 프린터 큐 \ 큐, 덱 (0) | 2021.02.08 |
---|---|
#66. [백준_C언어] 18258 : 큐 2 \ 큐, 덱 (0) | 2021.02.08 |
#64. [백준_C언어] 11866 : 요세푸스 문제 0 (0) | 2021.02.03 |
#63. [백준_C언어] 11650 : 좌표 정렬하기 (0) | 2021.02.03 |
#62. [백준_C언어] 10866 : 덱 (0) | 2021.02.02 |