BOJ-10773
05 Jul 2021아주 아주 간단한 스택 문제… 스택의 개념을 묻는 질문이다! stack
라이브러리를 처음 써보는데, pop()
의 return 값이 내가 기존에 구현하던 int가 아니라 void여서 top()
을 잘 활용했다
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int K;
cin >> K;
if (K<0 || K>100000) return 0;
stack<int> s;
for (int i=0; i<K; i++) {
int num;
cin >> num;
if (num==0) s.pop();
else s.push(num);
}
int sum = 0;
if (s.empty()) cout << 0 << "\n";
else {
while(!s.empty()) {
int pop = s.top();
sum += pop;
s.pop();
}
cout << sum << "\n";
}
}
사실 오늘도 풀던 dp 문제가 있었는데, 문제를 잘못 이해해서 30분 허비(?)했다… 그러고서는 시간이 너무 늦어서 내일 출근을 위해 다른 쉬운 문제로 갈아탔다… 내일은 꼭 풀어낼거다!! 오늘 할게 진짜 많은데 그냥 자야겠다………..