[프로그래머스 | JavaScript] 내적

728x90
반응형

(1) 내 코드

function solution(a, b) {
    let newarr = [];
    for (let i = 0; i < a.length; i++) {
        newarr.push(a[i] * b[i]);
    }
    return newarr.reduce((a, c) => a + c, 0);
}

▶ 길이만큼 반복해서 a배열과 b배열의 같은 인덱스끼리 곱해서 새로운 배열에 추가

▶ reduce를 사용해서 더하기

 

# 반복문하고 새로운 배열에 push 안해도 [let answer +=]으로 누적해서 더해도 되겠음

 

(2) 다른 사람 풀이

function solution(a, b) {
    return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);
}

▶ reduce 한 개만 활용 

▶ reduce (누산기, 현재요소 (_), 인덱스 )

▶ 현재값 + (a[i] * b[i]) 값을 누적하기 

 

 

Array.prototype.reduce() - JavaScript | MDN

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

developer.mozilla.org

 

반응형