본문 바로가기
# 공부/# 알고리즘

[스택] 제로 :: 백준알고리즘 10773번 c++

by 쁘레레레레레 2021. 1. 17.

※ 복습용으로 작성했습니다.

※ 내용적인 면이 기억에 의존하다보니 부정확 할 가능성이 있습니다. 자세하고 정확한 이론과 풀이 방식은 시중에 파는 책이나 다른 블로그 가시는게 좋습니다.

※ 참고용으로만 보시길 바랍니다.

#include <iostream>
#include <string>

using namespace std;

int main()
{
	int nInputIter = 0;
	int arData[100000]{};
	cin >> nInputIter;

	int nInputData{};
	int nCurrentIndex{};

	int nTotal{};

	cin.ignore();

	for (int i = 0; i < nInputIter; i++)
	{
		cin >> nInputData;

		switch (nInputData)
		{
		case 0:
			arData[nCurrentIndex] = 0;
			nCurrentIndex--;
			break;
		default:
			arData[nCurrentIndex] = nInputData;
			nCurrentIndex++;
			break;
		}
	}

	for (int i = 0; i < nCurrentIndex; i++)
	{
		nTotal += arData[i];
	}

	cout << nTotal << endl;
}