Baekjoon 10773. 제로

nang_nang·2022년 11월 25일
0

PS

목록 보기
14/18

📝 Baekjoon 10773 문제풀이


💡문제 정의


문제는 위와 같다.
스택을 이용하면 간단히 해결할 수 있다!

1) C

# include <stdio.h>

typedef struct stack_ {
  int items[100000];
  size_t top;
} stack;

void s_init(stack *s) {
  s->top = 0;
}

void s_push(stack *s, int item) {
  s->items[s->top++] = item;
}

int s_pop(stack *s) {
  int res;
  res = s->items[s->top - 1];
  s->top--;
  return res;
}

int main(void) {
  int K;
  scanf("%d", &K);
  int sum = 0;
  stack s;
  s_init(&s);

  for (int i = 0;i < K;i++) {
    int n;
    scanf("%d", &n);
    if (n) {
      s_push(&s, n);
      sum += n;
    }
    else sum -= s_pop(&s);    
  }
  
  printf("%d\n", sum);

  return 0;
}
profile
조금씩 앞으로

0개의 댓글