❓문제
- 숫자 배열(
nums
)과 특정 숫자(target
)을 인자로 받아,- 더했을 때 특정 숫자(
target
)가 나오는 숫자 배열(nums
) 내 두 요소의 index를 배열에 담아서 returnconst twoSum = (nums, target) => { }
🔓 (문제 파악) nums
로 받은 숫자 배열에서 두 개의 요소들을 짝지어 더한다.
🔑 (해결 방안) for문을 활용하되, 반복되는 요소가 2개이므로 for문을 중첩해서 사용
→ nums의 첫 번째 요소 + nums의 두 번째 요소
→ nums의 첫 번째 요소 + nums의 세 번째 요소
...
→ nums의 첫 번째 요소 + nums의 마지막 요소
→ nums의 두 번째 요소 + nums의 세 번째 요소(= nums의 두 번째 요소 + 1)
...
→ nums의 마지막-1번째 요소 + nums의 마지막 요소
const twoSum = (nums, target) => {
for (i = 0; i < nums.length; i++) {
for (j = i + 1; j < nums.length; j++) { // 두 번째 항(j)의 시작은 항상 i보다 1이 큼
let sum = nums[i] + nums[j];
}
}
}
🔓 (문제 파악) 두 요소의 합이 target
과 일치하는지 확인하고, 일치할 경우 각 요소의 index를 배열로 반환한다
🔑 (해결 방안) if 조건문으로 일치 여부를 확인하여, true
일 때 각 요소의 인덱스 값인 i
와 j
를 배열로 return
const twoSum = (nums, target) => {
for (i = 0; i < nums.length; i++) {
for (j = i + 1; j < nums.length; j++) { // 두 번째 항(j)의 시작은 항상 i보다 1이 큼
let sum = nums[i] + nums[j];
if(sum === target) {
return [i, j];
}
}
}
}