[Algorithm] Day 1

offdutybyblo·2020년 6월 21일
0

Algorithm

목록 보기
1/2

Prologue

더 좋은 코드를 위해 개발자는 문제해결 능력을 키워야한다. 선천적인 재능이 있다면 좋겠지만 없다 할지라도 좋은 로직과 코드들을 적어보고 접한다면 발전할 수 있지 않을까 희망해본다.

1번 문제

나의 코드

const twoSum = (nums, target) => {
  let result =[];
  for(let i in nums){
    for(let j in nums){
      if(nums[i]+nums[j]===target){
         result.push(Number(i),Number(j));
         return result
      }
    }
  }
};

모범 코드

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

반성의 시간

  • 나는 왜 쓸데없이 공배열을 만들었는가?
  • 왜 나는 for in을 사용하면 'i'와'j'가 string으로 인식되는지 이제 알았는가?
  • 그래서 불필요하게 Number()메서드를 추가해야했다.

오늘도 반성합니다 컴퓨터님

profile
Front-End Devleoper 일껄요?

0개의 댓글