본문 바로가기

리트코드/easy

[리트코드] 1. Two Sum - js

반응형

1. 문제

https://leetcode.com/problems/two-sum/

 

Two Sum - LeetCode

Can you solve this real interview question? 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

leetcode.com

2. 코드

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    const map = new Map();

    for(let i=0; i<nums.length; i++){
        const complement = target - nums[i];
        if(map.has(complement))
            return [map.get(complement), i];
        map.set(nums[i], i);
    }
    
    return [];
};

흔히 생각하는 2중 for문이 아닌 다른 방식으로 풀고 싶었다.. 해시 맵을 사용하는 풀이가 있었다. 너무 맘에 든다!

반응형