HelloCho

백준[10773]C++ 본문

코테/백준

백준[10773]C++

choo2969 2021. 2. 18. 00:46

문제 :

이 문제는 0이 입력되면 마지막에 입력된 값을 제거하는 문제이다.

stack을 이용하면 아주 간단하게 해결이 가능하다. (python으로 이미 풀어봤다)

hellocho.tistory.com/338

 

백준[10773]python

문제 : 뭔가 길게 쓰여있지만... 그냥 0이 입력되면 마지막 값을 버리고 합을 출력하는 문제이다. stack의 원리를 이용하면 아주 간단하게 해결할 수 있는 문제이다. 필자는 s라는 리스트를 만들고

hellocho.tistory.com

 

s를 stack으로 사용해 0일때 값을 제거하고 그 외에는 push해서 값을 입력했다.

마지막에 s값이 비어있을 때 까지 값을 꺼내서 더 해주면 끝!

#include <iostream>
#include <stack>
using namespace std;
int main() {
	int n,tmp;
	int sum = 0;
	stack<int> s;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> tmp;
		if (tmp != 0) {
			s.push(tmp);
		}
		else {
			s.pop();
		}
	}
	for (int i = 0; !s.empty(); i++) {
		sum += s.top();
		s.pop();
	}
	cout << sum << endl;
	return 0;
}

 

'코테 > 백준' 카테고리의 다른 글

백준[2225]c++  (0) 2021.02.23
백준[2225]python  (0) 2021.02.23
백준[10773]python  (0) 2021.02.18
백준[10828] python  (0) 2021.02.16
백준[2750] C++  (0) 2021.02.10
Comments