백준 단계별로 풀어보기 [스택] 제로
https://www.acmicpc.net/problem/10773
[풀이]
0이 입력되면 스택에서 pop을 하고, 그 외의 수는 스택에 push를 한다. 입력이 끝나면 스택에 있는 수를 모두 더해준 뒤 출력한다.
[코드]
#include<iostream>
#include<algorithm>
#include<string>
#include<stack>
int main() {
int k, num, sum = 0;
std::stack<int> s;
std::cin >> k;
for (int i = 0; i < k; i++) {
std::cin >> num;
if (num == 0)
s.pop();
else s.push(num);
}
while (!s.empty()) {
sum += s.top();
s.pop();
}
std::cout << sum;
}
'알고리즘 공부 및 문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[c++] 백준 11050, 11051 이항계수 1, 이항계수 2 (0) | 2021.07.27 |
---|---|
[c++] 백준 1874 스택 수열 (0) | 2021.07.24 |
[c++] 백준 2609, 1934 최대공약수와 최소공배수, 최소공배수 (0) | 2021.07.24 |
[c++] 백준 1541 잃어버린 괄호 (2) | 2021.07.22 |
[c++] 백준 1037 약수 (0) | 2021.07.21 |