#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
stack<int> s;
int a;
cin >> a;
long long b;
for (int i = 0; i < a; i++)
{
cin >> b;
if (b == 0)
s.pop();
else
s.push(b);
}
long long sum = 0;
if (s.size() == 0)
{
cout << 0 << endl;
return 0;
}
for (int i = 0; i <= s.size(); i++)
{
sum += s.top();
s.pop();
}
cout << sum << endl;
return 0;
}
제로 문제 푸는데 이게 왜 틀린지 모르겟어 좀 도와줘
pop하면서 s의 size가 변경되니까
맨 끝에 포문 돌릴 때 s.size따로 변수에 대입하고 그 변수로 돌려보셈
그거 해봤는디 런타임 에러 나던데
<=를 <로
for문조건을 !s.empty로하면되지않을까