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번의 비교를 하게 된다.
즉, 필요없는 비교를 없애 좀 더가볍게 결론을 찾아낼 수 있다.
Author And Source
이 문제에 관하여(Code Kata -Day 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hello1358/Code-Kata-Day-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)