public int solution(int[] A, int[] B) {
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
int b = B.length-1;
for (int i = 0; i < B.length; i++) {
answer += A[i] * B[b];
b--;
}
return answer;
}
1. A, B 정수 배열을 정렬
2. A 최솟값 * B최댓값 곱하기
다른 사람 코드
public int getMinSum(int []A, int []B)
{
int answer = 0;
int temp;
int[] A_cp = A;
int[] B_cp = B;
int len = A_cp.length;
for(int i = 0; i < len; i++) {
for(int j = i+1; j < len; j++) {
if(A_cp[i] > A_cp[j]) { //A sort(increase)
temp = A_cp[i];
A_cp[i] = A_cp[j];
A_cp[j] = temp;
}
if(B_cp[i] < B_cp[j]) { //B sort(decrease)
temp = B_cp[i];
B_cp[i] = B_cp[j];
B_cp[j] = temp;
}
}
}
for(int i = 0; i < len; i++) {
answer += (A_cp[i]*B_cp[i]);
}
return answer;
}