은돌1113 2024. 6. 18. 13:03

문제 설명

정수 배열 nums와 정수 target이 주어지면 두 숫자의 합이 target이 되는 index를 찾아 반환합니다.


제한사항


입출력 예


입출력 예 #1

  • 입력 : nums = [2, 7, 11, 15], target = 9
  • 출력 : [0, 1]
  • 설명 : nums[0] + nums[1] == 9이므로 [0, 1]을 반환합니다.

 

입출력 예 #2

  • 입력 : nums = [3, 2, 4], target = 6
  • 출력 : [1, 2]

 

입출력 예 #3

  • 입력 : nums = [3, 3], target = 6
  • 출력 : [0, 1]

문제풀이

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    return nums.reduce((acc, cur, i) => {
        const sum = cur + nums[i + 1];

        if(sum === target) {
            acc.push([i, i + 1]);
        };

        return acc;
    }, []);
};
var twoSum = function(nums, target) {
    let result = []

    nums.forEach((num, i) => {
        const sum = num + nums[i + 1];

        if(sum === target) {
            result = [i, i + 1];
        };
    });

    return result;
};

링크

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