[Code Kata] 1. 숫자 배열에서 특정 index 반환하기

JY·2023년 5월 16일

CodeKata

목록 보기
1/5

문제

twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면,
더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.
(가정) target으로 보내는 합계의 조합은 배열 전체 중에 2개만 존재

nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열

예를 들어,
nums: [4, 9, 11, 14], target: 13 인 경우,
return 값은 [0, 1]
(nums[0] + nums[1] = 4 + 9 = 13)

풀이

array메서드인 push를 적용하여 결과값을 출력해보기 위해 바로 배열에 index 값을 넣어 return하는 1번 풀이법과 2번 풀이법 두 가지를 적용해보았으며, nums, target의 값을 바꾸어도 동일하게 결과가 return되는 것을 확인했다.

풀이 1

const twoSum = (nums, target) => {
  let sum = 0;
  for (let i = 0; i < nums.length; i++) {
    for (let j = 0; j < nums.length; j++) {
      sum = nums[i] + nums[j];
      if (sum === target) {
        return [i, j];
      }
    }
  }
}

풀이2

const twoSum = (nums, target) => {
  let sum = 0;
  let resultArray =[]
  for (let i = 0; i < nums.length; i++) {
    for (let j = 0; j < nums.length; j++) {
      sum = nums[i] + nums[j];
      if (sum === target) {
         resultArray.push(i, j);
        return resultArray
      }
    }
  }
}
profile
Hello World!

0개의 댓글