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);
}
나는 굳이 매핑할 필요가 있었나??
'알고리즘' 카테고리의 다른 글
16. 문자열 내 p와 y의 개수 (JavaScript) (0) | 2022.01.16 |
---|---|
13. 2016년 (JavaScript) (0) | 2022.01.16 |
12. 부족한 금액 계산하기 (JavaScript) (0) | 2022.01.16 |
11. x만큼 간격이 있는 n개의 숫자 (JavaScript) (0) | 2022.01.15 |
10. 행렬의 덧셈 (JavaScript) (0) | 2022.01.15 |
댓글