hayeonn 2022. 9. 26. 20:12
반응형

[풀이]

function solution(a, b) {
  let result = 0;

  for (let i = 0; i < a.length; i++) {
    result += a[i] * b[i];
  }
  return result;
}

 

[추가 풀이]

function solution(a, b) {
    let result = 0;

    for(const idx in a){
        result += a[idx] * b[idx];
    }
    return result;
}

for...in 으로 푼 문제다.

for...in 은 인덱스값을 받기 때문에 결국에 위의 문제와 같은 결과를 만든다.

 

[코드 리뷰]

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

reduce로도 풀 수 있다.

a 의 cur 값은 배열안의 값 순서대로 진행되므로 a[0] + b[0] 을 시작으로 차례대로 값이 누적된다.