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 되어야 합니다.
target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠습니다.
const twoSum = (nums, target) => { for(let i = 0; i < nums.length; i++){ for(let j = i + 0; j < nums.length; j++){ if(nums[i] + nums[j] == target){ return [i,j]; } } } }
👉 2개의 합이라 for문을 2개 사용해서 i for문과 i를 제외한 나머지 j for문을 더했을때 값이 target과 같다면 i와 j를 반환한다.
function 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 && i<j && i!==j){ return [i,j]; } } } }
👉 if문에서 i보다 j가 크고 i와 j는 값이 다르다는 조건을 사용하고 조건이 true이면
i와 j를 반환한다.
역시 사람마다 풀이 방법은 다양하게 많았고 풀이 방법을 같이 고민하고 의견을 주고 받으니 새로운 방식을 많이 배웠다.😊
크으... 갓수정..