From c097041c9a0ca269dc136e04cf2ffcdff0d9f1d8 Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Thu, 3 Sep 2026 22:39:20 +0900 Subject: [PATCH 1/2] Implement function to calculate absolute difference --- ...rence Between Maximum and Minimum K Elements" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/3774. Absolute Difference Between Maximum and Minimum K Elements" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/3774. Absolute Difference Between Maximum and Minimum K Elements" "b/leetcode3/\354\240\225\354\247\204\354\230\201/3774. Absolute Difference Between Maximum and Minimum K Elements" new file mode 100644 index 00000000..162a8f35 --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/3774. Absolute Difference Between Maximum and Minimum K Elements" @@ -0,0 +1,16 @@ +/** + * @param {number[]} nums + * @param {number} k + * @return {number} + */ +var absDifference = function(nums, k) { + const arr = nums.sort((a, b) => a-b); + let sum1 = 0; + let sum2 = 0; + for(let i = 0; i Date: Thu, 3 Sep 2026 22:41:04 +0900 Subject: [PATCH 2/2] Add advantageCount function for advantage shuffle Implement advantageCount function to maximize nums1 over nums2. --- .../870. Advantage Shuffle" | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/870. Advantage Shuffle" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/870. Advantage Shuffle" "b/leetcode3/\354\240\225\354\247\204\354\230\201/870. Advantage Shuffle" new file mode 100644 index 00000000..9e741332 --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/870. Advantage Shuffle" @@ -0,0 +1,39 @@ +/** + * @param {number[]} nums1 + * @param {number[]} nums2 + * @return {number[]} + */ +var advantageCount = function(nums1, nums2) { + // nums1 오름차순 정렬 + nums1.sort((a, b) => a - b); + + // nums2는 원래 위치와 함께 내림차순 정렬 + const sortedNums2 = []; + + for (let i = 0; i < nums2.length; i++) { + sortedNums2.push([nums2[i], i]); + } + + sortedNums2.sort((a, b) => b[0] - a[0]); + + const answer = new Array(nums1.length); + let left = 0; + let right = nums1.length - 1; + + for (let i = 0; i < sortedNums2.length; i++) { + const value = sortedNums2[i][0]; + const originalIndex = sortedNums2[i][1]; + + if (nums1[right] > value) { + // 이길 수 있으면 가장 큰 숫자로 이긴다 + answer[originalIndex] = nums1[right]; + right--; + } else { + // 가장 큰 숫자로도 못 이기면 가장 작은 숫자를 버린다 + answer[originalIndex] = nums1[left]; + left++; + } + } + + return answer; +};