벡터를 활용하면 쉽게 풀 수 있는 문제였다.
입력된 값이 0 이면 pop_back을 두 번 실행해 0과 이전 숫자를 삭제해주면 된다.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int K;
cin >> K;
vector<int> num;
for (int i = 0; i < K; i++)
{
int a;
cin >> a;
num.push_back(a);
if (a == 0)
{
num.pop_back();
num.pop_back();
}
}
int result=0;
for (int i = 0; i < num.size(); i++)
result += num[i];
cout << result;
}
'C++ > 백준 코딩테스트 풀이 C++' 카테고리의 다른 글
C++ 2798 블랙잭 (0) | 2022.07.01 |
---|---|
C++ 11050 이항계수 (0) | 2022.06.29 |
C++ 1085 직사각형에서 탈출 / 제곱 / 제곱근 / 최소값 (0) | 2022.06.27 |
C++ 3052 나머지 (0) | 2022.06.27 |
C++ 1157 단어공부 (0) | 2022.06.24 |