오늘의 문제... 정말 간단했던 것 같다. 기본적인 stack연산만 알면 쉽게 풀 수 있는 문제다. 최근에 이렇게 아무 고민 없이 풀었던 문제는 없던 것 같은데... 최단 시간에 푼 문제..단 15분. 나중에 내가 이 문제를 보고 다시 푼다면 이 글을 보고 비웃을 수도 있겠다. 그 때는 좀 더 빨리 풀 수 있지 않을까?
코드
#include<iostream>
#include<stack>
#include<algorithm>
using namespace std;
int k , n ,a , s;
stack<int>v;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
cin >> n ;
for (int i = 0; i < n; i++) {
cin >> a;
if (a == 0 && !v.empty()) {
v.pop();
}
else
v.push(a);
}
s = v.size();
for (int i = 0; i < s; i++) {
k += v.top();
v.pop();
}
cout << k;
}