본문 바로가기
알고리즘

15. 내적 (JavaScript)

by 프잘백 2022. 1. 16.
728x90

문제 설명

길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.

이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)

 

 

제한사항

  • a, b의 길이는 1 이상 1,000 이하입니다.
  • a, b의 모든 수는 -1,000 이상 1,000 이하입니다.

 

입출력 예시

 

 

 

나의 풀이

 

function solution(a, b) {
    var A=[];
    A = a.map((q,i) => a[i]*b[i]);
    return A.reduce((x,z)=> x+z)

}

 

a를 mapping하면서 a[i]와 b[i] 의 곱을 배열에 차례대로 넣어 반환해준다.

ex) a=[1,0,-1] b=[-1,0,1] 이면,  A=[-1,0,-1]

이를 reduce로 전부 합한다!

간단했다.

 

모범 답안

 

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

나는 굳이 매핑할 필요가 있었나??

댓글