반응형
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 를 배열에 담아 리턴한다.
반응형
'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글
2020.08.25 Single number 풀이 (feat. 비트 연산자) (1) | 2020.08.26 |
---|---|
2020.08.24 Merge Two Binary Trees 풀이 (0) | 2020.08.25 |
2020.08.23 TIL (0) | 2020.08.24 |
2020.08.21 Two Sum 풀이 (0) | 2020.08.22 |
2020.08.20 Palindrome Linked List 풀이 (0) | 2020.08.20 |
댓글