임의로 주어지는 배열중 두개의 합이 target 일치하는 "index" 를 찾아라.
내가 쓴 코드.
var twoSum = function(nums, target) {
let answer = [];
for (let i = 0; i < nums.length; i++){
for(let j = i+1; j < nums.length; j++){
if(nums[i]+nums[j] === target){
answer.push(i);
answer.push(j);
}
}
}
return answer;
};
다른 사람의 답
var twoSum = function(nums, target) {
for(let i=0; i< nums.length; i++){
if((nums.indexOf(target - nums[i]) !== -1) && i!== nums.indexOf(target - nums[i])){
return [i, nums.indexOf(target-nums[i])];
}
}
};
난 2중 for loop을 써서
Runtime: 88 ms, faster than 27.84% of JavaScript online submissions for Two
Sum.
Memory Usage: 39.2 MB, less than 15.10% of JavaScript online submissions for Two Sum.
이러한 결과를 얻었고
단일 for loop을 쓴 다른 사람의 답은
Runtime: 68 ms, faster than 98.58% of JavaScript online submissions for Two Sum.
Memory Usage: 39 MB, less than 29.79% of JavaScript online submissions for Two Sum.
무려 20ms 의 런타임 단축을 이뤄냈다.
너무 단순하게 풀어낸것 아닌가 생각을한다.