code-kata(1)

이하영·2022년 4월 11일
0
post-thumbnail

우선 가정을 읽어보면 하나의 배열안에 2개를 꺼내와야 한다고 한다.
그래서 for문을 2번 실행시키고,

두 인덱스의 합계가 target 값과 같아야 하기 때문에
if문으로 조건을 제시하고 반환하는 함수를 적용해보면

const twoSum = (nums, target) => {
  
  for(let i=0; i<nums.length; i++){
    for(let j=1; j<nums.length; j++){
          if(nums[i]+nums[j] === target){
            return [i,j];
    }
    }
  }  
}
console.log(twoSum([4,9,11,14],13)); //[0,1]

🔥 여기서 i,j가 다른 인덱스로 시작해야 하는 점에서 주의 해야한다.

말로 풀어 쓰자면,
console.log(twoSum([4,9,11,14],13));
i는 인덱스0부터 시작이기 때문에 4부터 실행이 되고,
j는 인덱스1부터 시작이라 9부터 실행이 된다.

target은 13이기 때문에 바로 출력이 되므로 [0,1]이 출력이 된것이다.

0개의 댓글