๐งธ์ฒ์์ ๋ณต์กํ๊ฒ ํ์๋๋ฐ ๋๋ฒ์งธ ์ฝ๋์ ๊ฐ์ด B๋ฐฐ์ด์ ์ฌ๋ฐฐ์ดํด ๊ฐ๋จํ ํ์ด๋ ์ ๋ต์ด๋ค. ์ฒซ๋ฒ์งธ ์ฝ๋๋ B๋ฐฐ์ด ๊ฑด๋๋ ค sortB์ ๋ฃ๊ณ ๋ง์ง๋ง ๋ํ ๋๋ B๋ฐฐ์ด๋ก ๊ณ์ฐํ๋๋ก ํ๋ค.
์ฒซ๋ฒ์งธ ์ฝ๋
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();
let A = input[0].split(" ").map(Number);
let B = input[1].split(" ").map(Number);
let sortB = [];
for (let i = 0; i < N; i++) {
sortB[i] = { index: i, item: B[i] };
}
sortB = sortB.sort((a, b) => a.item - b.item);
A = A.sort((a, b) => b - a);
for (let i = 0; i < N; i++) {
A[i] = { index: sortB[i].index, item: A[i] };
}
A = A.sort((a, b) => a.index - b.index);
let sum = 0;
for (let i = 0; i < N; i++) {
sum += A[i].item * B[i];
}
console.log(sum);
๋๋ฒ์งธ ์ฝ๋
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();
let A = input[0].split(" ").map(Number);
let B = input[1].split(" ").map(Number);
A = A.sort((a, b) => b - a);
B = B.sort((a, b) => a - b);
let sum = 0;
for (let i = 0; i < N; i++) {
sum += A[i] * B[i];
}
console.log(sum);