Notice
Recent Posts
Recent Comments
Link
.Zzumbong
[leetCode/JS] 1. Two Sum 본문
문제 설명
Given an array of integers nums
and an integer target
, return indices of the two numbers such that they add up to target
.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
You can return the answer in any order.
입출력 예
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]
Constraints
- 2 <= nums.length <= \(10^4\)
- 1 <= s.length <= \(10^4\)
- \(10^9\) <= nums[i] <= \(10^9\)
- \(10^9\) <= target <= \(10^9\) Only one valid answer exists.
내 솔루션
- 순간적으로 어짜피 O(n^2) 라고 생각하고 그냥 했다.
var twoSum = function(nums, target) {
for(let i = 0; i < nums.length; i++) {
for(let j = 0; j < nums.length; j++) {
if(i !== j && nums[i] + nums[j] === target){
return [i, j];
}
}
}
};
최고의 솔루션
- O(n) 솔루션이 있길래 매우 감탄!
- target - nums[i] 를 찾는게 목표라는 점을 간과 했다.
var twoSum = function(nums, target) {
let hash = {};
for(let i = 0; i < nums.length; i++) {
const n = nums[i];
if(hash[target - n] !== undefined) {
return [hash[target - n], i];
}
hash[n] = i;
}
}
감상평
- 똑똑이는 세상에 많다. 많이 푸는 수 밖에 없어 보인다.
'coding test > leetCode' 카테고리의 다른 글
[leetCode/JS] 222. Count Complete Tree Nodes (0) | 2022.11.23 |
---|---|
[leetCode/JS] 2. Add Two Numbers (0) | 2022.11.23 |
[leetCode/JS] 151. Reverse Words in a String (0) | 2022.11.22 |
[leetCode/JS] 295. Find Median from Data Stream (0) | 2022.11.22 |
[leetCode/JS] 901. Online Stock Span (0) | 2022.11.22 |
0 Comments