카테고리 없음

함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오게 리턴하기

헬리이 2023. 1. 17. 21:38
728x90

<문제>

twoSum 함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요

 

이때, 

nums : 숫자 배열

target: 두 수를 더해서 나올 수 있는 합계

return: 두 수의 index를 가진 숫자 배열

 

target 으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠음.

 

예를들어, 

nums는 [4, 9, 11, 14] target은 13 이라 할때,

nums[0] + nums[1] = 4 + 9 = 13이다.

그러면 리턴은 [0, 1]이 되어야 한다.


 

풀이)

const twoSum = (nums, target)  =>  {                 // 가 주어 졌을때,

 

 for (let i=0 ; i< nums.length; i++) {                     // target 으로 보내는 합계의 조합은 배열 전체 중 2개 밖에 없으니, i 와 j 로 반복문

 for (let j=0 ; j<nums.length; j++) {                      // 으로 만들어서 

 

 const result = nums[ i ] + nums[ j ]                     //두 배열의 합을 결과로 선언을 한 후

  if ( result === target) {                                         //결과가 target과 값이 같은 경우에

  return [ i, j ]                                                           //해당 배열을 리턴 하게 만들어 보았습니다.

   }  

  }

 }

}

 

console.log(twoSum( [4, 9, 11, 14],13))                // 예시에 있던  배열을 console.log로 찍어보니 

 

문제에 제시된 배열이 나옵니다! 

728x90