728x90
https://www.acmicpc.net/problem/10773
벡터로 구현
#include <bits/stdc++.h>
using namespace std;
int k, a,sum;
int main(){
ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
//1. 입력받기
cin >> k;
vector<int> v; //저장할 자료구조(stack 사용해도 됨)
//2. 0이 아니면 수 저장, 0이면 맨 뒤 원소 삭제(pop_back)
for(int i=0;i<k;i++){
cin >> a;
if(a==0) v.pop_back();
else v.push_back(a);
}
//3. 합계 출력
for(int e:v) sum+=e;
cout << sum;
}
스택으로 구현
#include <bits/stdc++.h>
using namespace std;
int k, a,sum;
int main(){
ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
//1. 입력받기
cin >> k;
stack<int> s; //저장할 자료구조
//2. 0이 아니면 수 저장, 0이면 맨 뒤 원소 삭제(pop)
for(int i=0;i<k;i++){
cin >> a;
if(a==0) s.pop();
else s.push(a);
}
//3. 합계 구하여 출력하기
while(!s.empty()){
sum += s.top();
s.pop();
}
cout << sum;
}
728x90
'알고리즘 > 알고리즘 스터디' 카테고리의 다른 글
1316번: 그룹 단어 체커 (0) | 2023.03.02 |
---|---|
10845번: 큐 (0) | 2023.03.02 |
17071번: 숨바꼭질 5 (0) | 2023.03.02 |
1920번: 수 찾기 (0) | 2023.02.28 |
10828번: 스택 (0) | 2023.02.27 |