반응형
문제 ) 중복을 허락한 정수의 배열이 주어져서 두개의 원소를 선택해 합했을 때 타겟 숫자와 동일 할 경우,
그 두 원소의 index의 배열은 어떻게 되는가?
예를 들면, [2,4,6,11] 과 8의 타겟이 주어진다면, 2와 6이 합쳐져 8의 원소가 된다는 걸 알 수 있다. 따라서 정답은 [0, 2]가 된다는 걸 알 수 있다. 이걸 컴퓨터가 알아 들을 수 있도록 식을 구성하는 것이 알고리즘의 핵심이다. 단순히 for문을 중첩해서 답을 구했더니, 268ms 의 어마무시한 런타임을 자랑했다.
var twoSum = function(nums, target) {
for(let i = 0; i < nums.length - 1; i++){
for(let j = 1; j < nums.length; j++){
if(i !== j){
if(nums[i]+nums[j] === target){
return [i, j]
} else {
continue;
}
}
}
}
}
내일은 쉬는 날이기 때문에, 해당 방법의 런 타임을 줄일 수 있는 방법을 살펴보려고 한다. 다른 사람들은 어떻게 풀었고, 나의 방법과 어떻게 달라서 런타임이 줄었는지 살펴보려고 한다. 끝.
오늘은 끝... 졸리고 술취해서 안되겠다 ㅎㅎ
반응형
'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글
2020.08.24 Two Sum 다른 풀이 (0) | 2020.08.24 |
---|---|
2020.08.23 TIL (0) | 2020.08.24 |
2020.08.20 Palindrome Linked List 풀이 (0) | 2020.08.20 |
2020.08.19 Valid Parentheses 풀이 (0) | 2020.08.20 |
2020.08.18 findUnsortedSubarray 풀이 (0) | 2020.08.19 |
댓글