알고리즘 모음집/New 알고리즘
2021.11.23_8931제로
KyeongMin
2021. 11. 23. 21:22
728x90
반응형
소스코드
#include<iostream>
#include<vector>
using namespace std;
int N, ret;
void init();
void zero();
int main(int argc, char** argv)
{
int test_case;
int T;
//freopen("input.txt", "r", stdin);
cin >> T;
/*
여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
*/
for (test_case = 1; test_case <= T; ++test_case)
{
init();
zero();
printf("#%d %d\n", test_case, ret);
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
void zero() {
vector<int> money;
for (int n = 0; n < N; n++) {
int num;
scanf("%d", &num);
if (num == 0 && money.size() == 0)continue;
else if (num == 0) money.pop_back();
else money.push_back(num);
}
for (int idx = 0; idx < money.size(); idx++) {
ret += money[idx];
}
}
void init() {
N = ret = 0;
scanf("%d", &N);
}
설계
- 원래 스택으로 해도되고 여기서 포인트는 진짜 쉽다
- 0이 나오면 최근 넣었던값 지우면되는것
- 여기서는 좀더 편하게 vector 로진행해서 0이 아니면 백터에 넣고 0이나오면 제일 뒤에꺼를 지웠고
- N번이 끝나게 되면 vector에 있는 값의 합을 결과로 산출함
실수
- 실수 없음
문제 링크
원본
GitHub - 3DPIT/AlgorithmFinal
Contribute to 3DPIT/AlgorithmFinal development by creating an account on GitHub.
github.com
728x90
반응형