📄문제

✏️풀이
재영
quickSort
를 이용한 풀이const geResult = (nums) => { let cnt = 0; nums.forEach((num, idx) => { if (idx % 2) return; cnt += Math.min(num, nums[idx + 1]); }) return cnt; } const arrayPairSum = function(nums) { return getResult(quickSort(nums)); } const quickSort = arr => { if (arr.length < 2) { return arr; } const pivot = arr.pop(); const pivotArr = [pivot]; const left = []; const right = []; arr.forEach(val => { if (val < pivot) { left.push(val); } else if (val > pivot) { right.push(val); } else { pivotArr.push(val); } }) return quickSort(left).concat(pivotArr, quickSort(right)); }
효성
내 풀이
var arrayPairSum = function(nums) { nums.sort((a,b)=> b-a); let arr = []; let answer = []; for(let i=0; i<nums.length; i++) { arr.push(nums[i]); if(arr.length === 2) { let min = Math.min(...arr); answer.push(min); arr = []; } } return answer.reduce((prev, cur) => prev + cur); };
참고 풀이
min을 사용하지 않고도 풀 수 있다!?
var arrayPairSum = function(nums) { let res = 0; nums.sort((a,b) => { return a - b}) for(let i = 0; i < nums.length; i = i + 2) { res += nums[i]; } return res; };
은찬
const arrayPairSum = (nums) => { let result = 0; nums.sort((a, b) => a - b); for(let i = 0; i < nums.length; i += 2){ result += nums[i]; } return result; };
가영
var arrayPairSum = function(nums) { return nums.sort((a, b) => a - b) .filter((_, idx) => idx % 2 === 0) .reduce((acc, element) => acc += element, 0); };
희진
var arrayPairSum = function(nums) { nums.sort((a,b)=>a-b) let answer = 0; for(let i=0;i<nums.length ; i+=2){ answer += nums[i]; } return answer; };