Code Kata -Day 1

Code Kata - Day 1

어떻게 접근할까?

for문을 통해 빠르게 배열의 모든 요소 값 확인하기

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

example) twoSum([4,9,11,14],13) 기준
인덱스를 확인하는 메커니즘(순서가)
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
2 2
2 3
3 0
3 1
3 2
3 3 (숫자는 각각의 인덱스를 의미)

총 16번의 비교를 하게 된다.

그리고 정답 [0,1]--2번째 비교를 return 한다.

좀 더 효과적인 방법은 없을까?

비교대상 줄이기

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

example) twoSum([4,9,11,14],13) 기준
인덱스를 확인하는 메커니즘(순서가)
0 1
0 2
0 3
1 2
1 3
2 3
총 6번의 비교를 하게 된다.
즉, 필요없는 비교를 없애 좀 더가볍게 결론을 찾아낼 수 있다.

좋은 웹페이지 즐겨찾기