코딩/문제

백준 10773 제로

Hun die 2022. 6. 28. 10:11

https://www.acmicpc.net/problem/10773

 

10773번: 제로

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

www.acmicpc.net

 

#include <iostream>
#include <stack>

using namespace std;

int main()
{
	int input;
	cin >> input;

	stack<int> s;

	for (int i = 0; i < input; i++)
	{
		int num;
		cin >> num;

		if (num == 0)
		{
			if (s.empty() != true)
			{
				s.pop();
			}
		}
		else
		{
			s.push(num);
		}
	}

	int answer = 0;

	while (s.empty() != true)
	{
		answer += s.top();
		s.pop();
	}
	cout << answer;
	
}

 

간단하게 0이면 pop 0이 아니면 push 하면 되는 문제

 

'코딩 > 문제' 카테고리의 다른 글

백준 4949 균형잡힌 세상  (0) 2022.06.28
백준 9012 괄호  (0) 2022.06.28
백준 10828 스택  (0) 2022.06.28
코딩 시험 8번 class화  (0) 2022.06.20
코딩 시험 7번 class화  (0) 2022.06.16