길이 2n의 숫자배열 nums 가 주어질 때 nums 를 2개씩 n 개의 쌍을 만든다고 한다.
그럴 때 각 쌍에서 최솟값 하나씩을 골라내어 총 합을 만드는데 나올 수 있는 총합 중 가장 큰값을 리턴하는 문제이다.
Example을 보자
const arrayPairSum = function (nums) {
const n = nums.length / 2;
let result = 0;
nums.sort((a, b) => a - b);
if (n < 2) return nums[0];
for (let i = 0; i < nums.length; i += 2) {
result += nums[i];
}
return result;
};
2개의 쌍을 만들었을 때 최솟값만을 더해 가장 큰 합을 만들기 위해서는 nums를 오름차순으로 정렬하여 앞에서부터 2개씩 끊어 쌍을 만들면된다.
for문에서 i를 2씩 증가시켜 짝수번째 index의 숫자값만 result에 더하여 리턴해주면 된다.
submit을 해보니
정답이었다!