10773 제로
문제풀이
짧은시간의 순서대로 코드를 본다면
1번
#include <iostream>
#include <stack>
using namespace std;
void fast_io(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int main(void)
{
fast_io();
stack<int> s;
int k, sum = 0;
cin >> k;
for (int i = 0; i < k; i++)
{
int n;
cin >> n;
if (n == 0)
{
s.pop();
}
else
{
s.push(n);
}
}
while (!s.empty())
{
sum += s.top();
s.pop();
}
cout << sum;
}
2번
#include <iostream>
#include <stack>
using namespace std;
int main(void)
{
stack<int> s;
int k, sum = 0;
scanf("%d", &k);
for (int i = 0; i < k; i++)
{
int n;
scanf("%d", &n);
if (n == 0)
{
s.pop();
}
else
{
s.push(n);
}
}
while (!s.empty())
{
sum += s.top();
s.pop();
}
printf("%d", sum);
}
3번
#include <iostream>
#include <stack>
using namespace std;
int main(void)
{
stack<int> s;
int k, sum = 0;
cin >> k;
for (int i = 0; i < k; i++)
{
int n;
cin >> n;
if (n == 0)
{
s.pop();
}
else
{
s.push(n);
}
}
while (!s.empty())
{
sum += s.top();
s.pop();
}
cout << sum;
}