본문 바로가기
알고리즘/BAEKJOON

BOJ 10773 : 제로

by 피로물든딸기 2021. 2. 6.
반응형

알고리즘 문제 전체 링크

 

www.acmicpc.net/problem/10773

 

 

스택 기본 구현 문제 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

댓글