twoSum
함수에 숫자 배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index 를 배열에 담아 return 하라.
nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열
예를 들어, nums 는 [4, 9, 11, 14], target 은 13이라고 할 때 nums[0] + nums[1] = 4 + 9 = 13 이므로 [0, 1]이 return 되어야 한다.
# 가정
target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정한다.
const twoSum = (nums, target) => {
for(let i=0; i<nums.length; i++) {
for(let j=0; j<nums.length; j++) {
if (nums[i]+nums[j] === target) {
return [i, j];
}
}
}
};
const twoSum = (nums, target) => {
for(let i=0; i<nums.length; i++) {
let remainder = target - nums[i];
for(let j=0; j<nums.length; j++) {
if (nums[j] === remainder) {
let result = [i, j];
return result;
}
}
}
};
const twoSum = (nums, target) => {
let setNum = nums.filter(num => num < target); // 이 부분에서 undefined 발생
for(let i=0; i<setNum.length; i++) {
for(let j=0; j<setNum.length; j++) {
if (setNum[i] + setNum[j] === target) {
let n1 = nums.indexOf(setNum[i])
let n2 = nums.indexOf(setNum[j])
return [n1, n2];
}
}
}
};