본문 바로가기
2. 우당탕탕 개발자/2-1. 공부기록

2020.08.24 Two Sum 다른 풀이

by Little Monkey 2020. 8. 24.
반응형
var twoSum = function(nums, target) {
  let comp = {};
  for(let i = 0; i < nums.length; i++){
   if(comp[nums[i]] !== undefined) {
     console.log(comp)
     return [comp[nums[i]], i]
   }
    comp[target - nums[i]] = i 
  }
}

 

주말에 하기로 한 two sum 의 풀이는 평일인 오늘에 하게 되었다. 해당 문제에 대한 풀이를 보니, 지난번 내가 푼 방법이 'Brutal force'한 풀이라며 말 그대로 우격다짐으로 억지로 풀어낸 해답답게 엄청난 runtime과 시간 복잡도를 자랑했다. 다른 풀이가 있을까 하여 봤더니, Hash table 의 방법을 이용하는 방법이었다. 자바스크립트에선 object의 key - value 의 property를 이용하여 풀 수 있다. 각각의 원소들을 순회하면서 키에 target - nums[i]를 값에는 i 를 저장한다. target - nums[i]가 해당 배열의 키에 있다면 그 값과 i 를 배열에 담아 리턴한다.

 

 

반응형

댓글