twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면,
더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.
nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열
예를 들어,
nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열
예를 들어,
nums은 [4, 9, 11, 14]
target은 13
nums[0] + nums[1] = 4 + 9 = 13 이죠?
그러면 [0, 1]이 return 되어야 합니다.
나의 답변
<script> const twoSum = (nums, target) => { for(let a=0; a<nums.length; a++){ for(let b=a+1; b<nums.length; b++){ if(nums[a] + nums[b] === target){ return [a, b]; } } } } twoSum([4, 9, 11, 14], 13); </script>
- 변수를
a, b
두개로 주었고, 변수끼리 겹치지 않기 위해a=0, b=a+1
로 시작점을 달리 주었다.a=0 & b=1~N
이 대응되고, 다음a=1 & b=2~N
식으로 차례대로 돌아가는 이중 For문을 주었다.nums[a] + nums[b]
의 합이target
과 같으면[a, b]
인자를 출력!