백준 #10773 제로
스택을 사용하는 문제. 0을 입력 받으면 pop, 그렇지 않으면 push하고 스택에 남아있는 정수의 합을 출력한다.
#include <iostream>
#include <stack>
#include <bits/stdc++.h>
using namespace std;
int K;
stack<int> stk;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> K;
int sum = 0;
for(int i = 0; i < K; i++) {
int tmp;
cin >> tmp;
if(tmp != 0) {
stk.push(tmp);
}
else {
stk.pop();
}
}
while(!stk.empty()) {
sum += stk.top();
stk.pop();
}
cout << sum;
return 0;
}
Comments