반응형
스택 기본 구현 문제 BOJ 10828과 같은 문제이다.
BOJ 10828보다 쉬운 점은, push, pop만 구현하면 된다.
정수가 "0"일 경우 지울 수 있는 수를 보장하므로
pop할때 stack pointer를 검사할 필요가 없다.
마지막에 더하는 경우는 stack에 들어있는 모든 값을 더하면 되므로, 0 ~ sp 까지 for문을 돌면 된다.
#include <stdio.h>
int K;
int stack[100100];
int sp;
int main()
{
int sum;
scanf("%d", &K);
for (int i = 0; i < K; i++)
{
int in;
scanf("%d", &in);
if (in) stack[sp++] = in; /* in = 0 이면 pop 명령어 */
else --sp;
}
sum = 0;
for (int i = 0; i < sp; i++) sum += stack[i];
printf("%d\n", sum);
return 0;
}
반응형
'알고리즘 > BAEKJOON' 카테고리의 다른 글
BOJ 14501, 15486 : 퇴사, 퇴사 2 (0) | 2021.02.15 |
---|---|
BOJ 10866 : 덱 (0) | 2021.02.08 |
BOJ 10845, 18258 : 큐, 큐2 (0) | 2021.02.07 |
BOJ 9012 : 괄호 (0) | 2021.02.07 |
BOJ 10828 : 스택 (3) | 2021.02.05 |
댓글