[TIL]for let I in..과 for문

choiuhana·2021년 8월 5일
0

TIL

목록 보기
29/37
  • for let I in은 배열에 사용할 경우 인덱스를 string으로 반환한다.
  • for let I in을 if문을 사용해도 멈추지않고 무조건 순환한다.
  • 조건이 필요한 반복은 일반적인 for문을 활용하자

문제

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개 밖에 없다고 가정하겠습니다.


nums =[4, 9, 11, 14] 
target = 13



const twoSum = (nums, target) => {
for(let i in nums){
  console.log(i)
 for(let y in nums){
   console.log(`y`,y)
   if(nums[i]+nums[y]===target)(
   result=[Number(i),Number(y)]
   )
 }
}return result
}

twoSum(nums,target)


const twoSum2 = (nums, target) => {
for(i = 0; i < nums.length-1; i++){
  console.log(i)
    for(x = i+1; x < nums.length; x++){
      console.log(`x`,x)
    if(nums[i] + nums[x] === target) {
      result = [i, x];
    }}}
  return result;


}
twoSum2(nums,target)
profile
만드는 사람도 사용하는 사람도 편하고 만족하는 '것'을 추구하는 프론트엔드 개발자

0개의 댓글