[Leetcode - Algorithm] two sum

hareguu·2021년 3월 3일
0

leetcode

목록 보기
1/3

Question

임의로 주어지는 배열중 두개의 합이 target 일치하는 "index" 를 찾아라.

Answer

내가 쓴 코드.

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 의 런타임 단축을 이뤄냈다.

너무 단순하게 풀어낸것 아닌가 생각을한다.

profile
Who wanna be a programming nerd.

0개의 댓글