C++에서 제공되는 vector로 아주 쉽게 풀 수 있는 문제입니다.
#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
int k; cin >> k;
vector<int> stack;
for (int i = 0; i < k; i++) {
int temp; cin >> temp;
if (temp == 0) stack.pop_back();
else stack.push_back(temp);
}
int sum = 0;
for (vector<int>::iterator it = stack.begin(); it < stack.end(); it++) {
sum += *it;
}
cout << sum << endl;
return 0;
}
k번만큼 정수를 입력받아 0이라면 pop을, 아니라면 push를 해주고 벡터를 돌며 모든 값을 더해주면 되는 문제입니다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준/C,C++] 17298번: 오큰수 (0) | 2021.03.03 |
---|---|
[백준/C,C++] 1874번: 스택 수열 (0) | 2021.03.03 |
[백준/C,C++] 4949번: 균형잡힌 세상 (0) | 2021.03.03 |
[백준/C,C++] 9012번: 괄호 (0) | 2021.03.02 |
[백준/C,C++] 10828번: 스택 (0) | 2021.03.01 |
댓글