문제 풀이
0이 입력되면 최근에 넣었던 수가 지워집니다.
가만 생각해보면, 자료구조의 스택을 떠오르면 쉽게 해결할 수 있습니다.
소스 코드
#include <iostream>
#include <stack>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
stack<int> st;
int k;
cin >> k;
while (k--)
{
int n;
cin >> n;
if (n != 0)
st.push(n);
else
st.pop();
}
long long ans = 0;
while (!st.empty())
{
ans += st.top();
st.pop();
}
cout << ans << endl;
return 0;
}
'Algorithm' 카테고리의 다른 글
[백준 11866] 요세푸스 문제0 (0) | 2021.12.06 |
---|---|
[백준 3009] 네 번째 점 (0) | 2021.12.05 |
[백준 10026] 적록색약 (0) | 2021.12.02 |
[백준 1225] 이상한 곱셈 (0) | 2021.11.30 |
[백준 1213] 팰린드롬 만들기 (0) | 2021.11.30 |