Skip to content

Latest commit

 

History

History
46 lines (31 loc) · 872 Bytes

2018-04-03-1.md

File metadata and controls

46 lines (31 loc) · 872 Bytes

문제

풀이

A와 B가 있을  때 A의 최댓값과 B의 최솟값을 곱하고 answer에 더한 후에 각각을 삭제하고 다음 앞의 과정을 반복함을 통해 구할 수 있다.

코드

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int getMinSum(vector<int> A, vector<int> B)
{
	int answer = 0;
  
  int n = A.size();
  
  
  for(int i=0; i<n; i++){
  
    answer += (*min_element(A.begin(), A.end())) * (*max_element(B.begin(), B.end()));
  	A.erase(min_element(A.begin(), A.end()));
    B.erase(max_element(B.begin(), B.end()));
  }

	return answer;
}
int main()
{
	vector<int> tA{1,2}, tB{3,4};

	//아래는 테스트 출력을 위한 코드입니다.
	cout<<getMinSum(tA,tB);
}

참고자료