문제
문제 파악
해당 문제는 0을 넣으면 가장 최근에 넣은 수를 빼는 문제
즉, 스택을 이용해서 문제를 해결하면 된다.
여기서 0은 지울수 있는 수가 있음을 보장하기 때문에 empty 여부를 확인 하지 않아도된다.
문제 풀이
딱히 풀이 할 것이 없어보인다.
스택을 이용하면 된다.
#include<iostream>
#include<stack>
using namespace std;
int main() {
int n;
cin >> n;
stack<int> st;
while (n--) {
int num;
cin >> num;
if (num == 0) {
st.pop();
}
else {
st.push(num);
}
}
int result = 0;
while (!st.empty()) {
result += st.top();
st.pop();
}
cout << result << endl;
return 0;
}
'문제풀이' 카테고리의 다른 글
BaekJoon(10844)::쉬운 계단 수 (0) | 2021.12.14 |
---|---|
BaekJoon(1463)::1로 만들기 (0) | 2021.12.09 |
BaekJoon(9012)::괄호 (0) | 2021.12.02 |
BaekJoon(1003)::피보나치 함수 (0) | 2021.11.24 |
BaekJoon(1010)::다리놓기 (0) | 2021.11.23 |