2021.11.23_8931제로
본문 바로가기
알고리즘 모음집/New 알고리즘

2021.11.23_8931제로

by KyeongMin 2021. 11. 23.
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에 있는 값의 합을 결과로 산출함

실수

  • 실수 없음

문제 링크

8931-제로

원본

https://github.com/3DPIT/AlgorithmFinal/blob/main/02.algorithmStudy/004.SW_Expert%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4/2021/11/1123/01.8931%EC%A0%9C%EB%A1%9C/2021.11.23_8931%EC%A0%9C%EB%A1%9C.md#20211123_8931%EC%A0%9C%EB%A1%9C

 

GitHub - 3DPIT/AlgorithmFinal

Contribute to 3DPIT/AlgorithmFinal development by creating an account on GitHub.

github.com

 

728x90
반응형

댓글