Two Sum

문제

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

nums라는 배열에서 임의의 두 수의 합이 target이 될 때 그 두수의 인덱스를 리턴하는 문제.
이 때 타겟이 만들어지는 경우는 한가지밖에 없다고 가정

풀이

const twoSum = (nums, target) =>  {
    for ( let i = 0; i < nums.length; i++ ) {
        if ( nums.indexOf(target-nums[i]) !== -1 && nums.indexOf(target-nums[i]) !== i ) {
            return [i, nums.indexOf(target-nums[i])]
        }
    }
};

포문으로 첫번째 인덱스 값부터 돌 때 타겟에서 뺀값이 배열내에 존재하면 해당 인덱스를 리턴하는 식

말로 설명하는게 더어렵다 ㅜ


+ Recent posts