https://www.acmicpc.net/problem/10773
최근에 C++의 stack에 관하여 공부를 해서 다른 백준 문제를 풀었는데
(현재 추가적인 공부가 필요해서 임시저장)
동일하게 문제에서 stack사용을 요구하는 것 같아서 stack으로 풀었습니다.
조건문과 stack의 사용 방법만 제대로 익힌 상태라면 쉽게 풀 수 있었을 것입니다.
이번에 문제를 풀면서 알아낸것은 pop은 그져 꺼내기만 한다는 것이었습니다.
top에 있는 요소를 꺼내서 전달이 가능할 줄 알았는데 그런게 아니었습니다.
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include<string.h>
#include<stack>
using namespace std;
int main()
{
stack<int> moneys;
int testCase;
scanf("%d", &testCase); //몇개의 정수를 받을 것인지?
for (int i = 0; i < testCase; i++) { //testCase만큼 push pop을 함
int money;
scanf("%d", &money);
if (money == 0) {
moneys.pop();
}
else {
moneys.push(money);
}
}
int sum = 0;
for (int i = 0; !moneys.empty(); i++) {
sum += moneys.top();
moneys.pop();
}
printf("%d", sum);
}
'백준 문제 풀이 & C++ 공부' 카테고리의 다른 글
C++ Vector Container (0) | 2021.07.05 |
---|---|
백준 9012 C++ & cin.ignore() (0) | 2021.07.04 |
백준 7568번 C/C++ (0) | 2021.06.21 |
백준 4553번 C/C++ (0) | 2021.06.14 |
백준 2869번 C/C++ (0) | 2021.03.01 |