[Leetcode] 1. Two Sum

Seongjun Lee·2022년 2월 19일
0

[Leetcode] - Problem

목록 보기
1/43
post-thumbnail

Problem

문제 링크

입력으로 주어진 숫자타입의 배열에서 합이 타겟(target)이 되는 두 인덱스 배열을 리턴 (오름차순)

Solution

입력받은 숫자들을 타겟값에서 뺀다음 사전 객체<숫자, 인덱스>에 존재 하는지 여부를 판단 후 없다면 사전에 넣어주고 있으면 꺼내서 리턴하는 방법

JS Code

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

  return nums.reduce((acc, num, idx) => {
    const needNum = target - num

    if (!isNaN(lib[needNum]) && !acc.length) {
      return [lib[needNum], idx]
    }

    lib[num] = idx
    return acc
  }, [])
}
profile
Hi there 👋

0개의 댓글