[Programmers] Level2 : 최솟값 만들기
Question
Solution
- 곱의 적은 수를 만드려면 (작은 수 x 큰 수)를 해야한다.
- A와 B를 각각 내림,오름차순으로 만들고 for 루프를 돌아 곱한 값을 answer에 더한다.
Cord
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool myCompare(int a, int b)
{
return a > b;
}
int solution(vector<int> A, vector<int> B)
{
int answer = 0;
// 한 쪽은 오름차순, 한 쪽은 내림차순
sort(A.begin(), A.end());
sort(B.begin(), B.end(), myCompare);
for(int i = 0; i < A.size(); i++)
{
answer += A[i] * B[i];
}
return answer;
}