UP
[프로그래머스 : JavaScript] 내적 본문
문제 설명
길이가 같은 두 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 이하입니다.
입출력 예
a | b | result |
[1,2,3,4] | [-3,-1,0,2] | 3 |
[-1,0,1] | [1,0,-1] | -2 |
입출력 예 설명
입출력 예 #1
- a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다.
입출력 예 #2
- a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2 입니다.
문제풀이
두 배열을 곱하고 각각의 요소들을 더하면 되는 문제이다.
코드 TIP
배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 누적값의 초깃값);
누적값의 초깃값은 지정을 안해주면 배열의 첫번째 값으로 자동 지정된다.
ex)
result = oneTwoThree.reduce((acc, cur, i) => {
console.log(acc, cur, i);
return acc + cur;
}, 0);
// 0 1 0
// 1 2 1
// 3 3 2
result; // 6
result = oneTwoThree.reduce((acc, cur, i) => {
console.log(acc, cur, i);
return acc + cur;
});
// 1 2 1
// 3 3 2
result; // 6
예시 출처 : https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d
전체코드
function solution(a, b) {
return a.reduce((acc, _, i) => acc += a[i] * b[i],0);
}
반응형
'알고리즘 > 기타' 카테고리의 다른 글
[프로그래머스 : JavaScript] 소수만들기 (0) | 2021.05.25 |
---|---|
[프로그래머스 : JavaScript] 포켓몬 (0) | 2021.05.25 |
[프로그래머스 : PYTHON] 크레인 인형뽑기 게임 (0) | 2021.05.25 |
[프로그래머스 : PYTHON] 완주하지 못한 선수 (0) | 2021.05.25 |
[프로그래머스 : PYTHON] 2016 (0) | 2021.05.12 |
Comments