From 485bbf44a58e84001daca2a401de73799b5ae16e Mon Sep 17 00:00:00 2001 From: mykoo Date: Fri, 30 Aug 2024 12:16:06 +0900 Subject: [PATCH 1/3] GUMUNYEONG : two-sum --- two-sum/GUMUNYEONG.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 two-sum/GUMUNYEONG.js diff --git a/two-sum/GUMUNYEONG.js b/two-sum/GUMUNYEONG.js new file mode 100644 index 000000000..862ab0192 --- /dev/null +++ b/two-sum/GUMUNYEONG.js @@ -0,0 +1,39 @@ +/** + * @param {number[]} nums + * @param {number} target + * @return {number[]} + */ +var twoSum = function (nums, target) { + let result = []; + let numPair = {}; + + for (let i = 0; i < nums.length; i++) { + numPair[nums[i]] = target - nums[i]; + } + + + + for (const key in numPair) { + let list = []; + const reverseKey = numPair[key]; + + if (numPair[reverseKey] && parseInt(key) === numPair[reverseKey]) { + let firstNum; + let secNum; + + if (parseInt(key) === reverseKey) { + firstNum = nums.indexOf(reverseKey); + secNum = nums.indexOf(reverseKey, firstNum + 1); + } else { + firstNum = nums.indexOf(parseInt(key)); + secNum = nums.indexOf(reverseKey); + } + + result.push(firstNum); + result.push(secNum); + + return result; + } + } + +}; From 1090e3214fb17ecb12f4d2f4bf423d4c2c3d6299 Mon Sep 17 00:00:00 2001 From: mykoo Date: Fri, 30 Aug 2024 14:36:11 +0900 Subject: [PATCH 2/3] two-sum qhrwkqeh cnrk --- two-sum/GUMUNYEONG.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/two-sum/GUMUNYEONG.js b/two-sum/GUMUNYEONG.js index 862ab0192..23dcf5b04 100644 --- a/two-sum/GUMUNYEONG.js +++ b/two-sum/GUMUNYEONG.js @@ -37,3 +37,12 @@ var twoSum = function (nums, target) { } }; + +// TC : O(n) +// 1. num 을 순회하며 numPair 객체를 만듦(num 길이 n) +// 2. numPair 를 순회하며 키-값이 대칭되는 첫번째 쌍을 찾음 (numPair 길이 n) +// 3. num을 순회하며 인덱스를 찾음 (num 길이 n) +// O(3n) 따라서 시간복잡도는 O(n) + +// SC : O(n) +// 크기가 n만큼인 객체(numPair)를 생성하므로 공간 복잡도도 O(n) From 384d84917689b4a458a01719f08c4f3706e0346a Mon Sep 17 00:00:00 2001 From: mykoo Date: Sun, 1 Sep 2024 01:28:12 +0900 Subject: [PATCH 3/3] =?UTF-8?q?two-sum=20=EC=A1=B0=EA=B1=B4=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- two-sum/GUMUNYEONG.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/two-sum/GUMUNYEONG.js b/two-sum/GUMUNYEONG.js index 23dcf5b04..85ae95629 100644 --- a/two-sum/GUMUNYEONG.js +++ b/two-sum/GUMUNYEONG.js @@ -17,7 +17,7 @@ var twoSum = function (nums, target) { let list = []; const reverseKey = numPair[key]; - if (numPair[reverseKey] && parseInt(key) === numPair[reverseKey]) { + if (parseInt(key) === numPair[reverseKey]) { let firstNum; let secNum; @@ -46,3 +46,4 @@ var twoSum = function (nums, target) { // SC : O(n) // 크기가 n만큼인 객체(numPair)를 생성하므로 공간 복잡도도 O(n) +