[CodeKata] #01, twoSum함수

April·2021년 4월 29일
0
post-thumbnail
post-custom-banner

문제

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개 밖에 없음


💡 풀이

  1. 첫번째 for문으로 첫번째 숫자를 고정시키고,
  2. 두번째 for문으로 비교할 두번째 숫자를 순환
  3. if문으로 target과 첫번째 숫자와 두번째 숫자를 비교,
  4. 같으면 두 숫자의 index를 리턴

✅ 코드

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

const nums = [4, 9, 11, 14];
const target = 23;
console.log(twoSum(nums, target));

🎈 What i learned

  • 그 동안 혼자 공부했을 땐, 사고 연습?에 대해 실행하지 못했는데,
  • CodeKata를 통해 뇌근육을 단련시킬 수 있어 좋다!!
  • 첫 문제였는데.. 이게 풀리네?! 신기하군!
profile
🚀 내가 보려고 쓰는 기술블로그
post-custom-banner

0개의 댓글