본문 바로가기
C | C++/Softeer 문제풀이

Softeer GBC C/C++ 문제풀이 (level 2)

by zyeon 2023. 8. 3.

https://softeer.ai/practice/info.do?idx=1&eid=584 

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

 

 

<cpp 문제풀이>

#include<iostream>
#include<vector>


using namespace std;

int main(int argc, char** argv)
{
	vector<int>v1;
	vector<int>v2;
	int max=0;
	int a,b;
	cin>>a>>b;

	for(int i=0;i<a;i++){
		int n1,n2;
		cin>>n1>>n2;
		for(int j=0;j<n1;j++){
			v1.push_back(n2);
		}
	}
	
	for(int i=0;i<b;i++){
		int n1,n2;
		cin>>n1>>n2;
		for(int j=0;j<n1;j++){
			v2.push_back(n2);
		}
	}

	for(int i=0;i<v1.size();i++){
		if(v2[i]-v1[i]>max) max=v2[i]-v1[i];
	}

	cout<<max;
	return 0;
}

 

2중for문을 사용하고싶지 않아서 처음에 실운행한 구간을 기준 구간 단위로 끊어서 비교하는 방식으로 코드를 짰지만, 

생각보다 코드가 너무 어지럽고 효율이 좋은지도 모르겠어서 다시 구현했습니다.

 

사실 벡터 사용을 많이 안해봐서 배열대신 최대한 벡터를 사용하기를 연습중입니다.


다른 의견이나 질문 언제나 환영입니다! 

댓글