문제의 함정 : 단, B에 있는 수는 재배열하면 안 된다.
최솟값을 만들기 위해선 최댓값과 최소값을 곱하면 된다.
그러므로 A를 오름차순 정렬, B를 내림차순 정렬해서 각 요소를 곱하면 답이 나온다.
문제에서 제시한 예제를 따르면
A 오름차순 정렬, B 내림차순 정렬하면 [0,1,1,1,6], [8,7,3,2,1]이다
이는 원래 B [2,7,8,3,1]을 재정렬하지 않고 이에 맞춰서 A를 [1,1,0,1,6] 재정렬한 것과 같다.
// data.shift() 해서 나눠서 가져온다.
function solution(n, data) {
let arrA = data[0], arrB = data[1];
arrA = arrA.sort((a, b) => a - b);
arrB = arrB.sort((a, b) => b - a);
let min = 0;
for (let i = 0; i < n; i++) {
min += arrA[i] * arrB[i];
}
console.log(min);
}