728x90
반응형
https://www.acmicpc.net/problem/10773
1. Logic
- 값을 확인해주며 0이 나왔을때는 값을 빼줘야하기때문에 후입선출(Last In First Out)의 성질을 가진 stack 활용.
- 정수가 입력되면 sum에 더해주고 0이 나오게되면 stack의 최상단 값을 sum에 빼주고 stack에서 pop
#include<bits/stdc++.h>
using namespace std;
stack<int> s;
int main() {
int t;
long long sum = 0;
cin >> t;
while(t--) {
int n;
cin >> n;
if(n != 0) {
s.push(n);
sum += n;
}
else if(n == 0) {
sum -= s.top();
s.pop();
}
}
cout << sum;
}
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 1254 팰린드롬 만들기 C++ :: String (0) | 2023.07.10 |
---|---|
[백준/Baekjoon] 2447 별찍기 - 10 C++ :: Recursion 재귀 (0) | 2023.07.02 |
[백준/Baekjoon] 1018 체스판 다시 칠하기 C++ :: 브루트포스 (0) | 2023.06.30 |
[백준/Baekjoon] 12865 평범한 배낭 C++ :: Dynamic Programming (0) | 2023.06.19 |
[백준/Baekjoon] 1463 1로 만들기 C++ :: Dynamic Programming (3) | 2023.06.19 |