๐ค ๋ฌธ์ ์ดํด
์ฃผ์ด์ง ๋ฐฐ์ด์์ ๋๊ฐ์ ์ ์๋ฅผ ๋ํด target์ผ๋ก ์ ์๋ ๊ฐ์ ๋ง์กฑํด๋ผ
https://leetcode.com/problems/two-sum/?envType=study-plan-v2&envId=top-interview-150
๐ค EX
data example 1
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
data example 2
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
data example 3
Input: nums = [3,3], target = 6
Output: [0,1]
๐ค ์์ฌ ์ฝ๋
const map = new map()
for( nums.length){
let result = target - nums[i]
map์ result๊ฐ ์๋์ง ํ์ธ ์์ผ๋ฉด return
์์ผ๋ฉด set()
}
๐ค ํด๊ฒฐํ ์ฝ๋ : O(n)
var twoSum = function(nums, target) {
const map = new Map()
for(let i =0; i<nums.length;i++){
const result = target - nums[i]
if(map.has(result)){
return [map.get(result),i]
}
map.set(nums[i],i)
}
return
};
๐ค ๋ค๋ฅธ ํ์ด๋ฐฉ๋ฒ : O(n^2)
์๋์ ์ฝ๋์ธ์๋ ์์ฑํ ์ฝ๋์ ๋น์ทํ๊ฒ ๊ฐ๋ค. ์๋์ ์ฝ๋๋ฅผ ์๊ฐ ์ํด๋ณธ๊ฑด ์๋์์ง๋ง(๋ณด์๋ง์ ์๊ฐํ๋คใ
ใ
) ์ค์ฒฉ for๋ฌธ์ ์ฌ์ฉํ๋ฉด ์ข์๊ฒ๊ฐ์ง ์์๋ค.
var twoSum = function(nums, target) {
let ans = [];
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
let sum = nums[i] + nums[j];
if (sum === target) {
ans.push(i);
ans.push(j);
return ans;
}
}
}
return ans;
}
'์ฝํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode Top Interview 150 - 162. Find Peak Element (1) | 2023.09.12 |
---|---|
LeetCode Top Interview 150 - 242. Valid Anagram (0) | 2023.08.31 |
[์๋ฃ๊ตฌ์กฐ] Linked list : Leetcode - 21. Merge Two Sorted Lists (0) | 2023.08.28 |
[์๋ฃ๊ตฌ์กฐ] Linked list : Leetcode - 2. Add Two Numbers : ํด๊ฒฐ์ค (0) | 2023.08.28 |
[์๋ฃ๊ตฌ์กฐ] Linked list - 2 (0) | 2023.08.28 |