프로그래머스, 내적(level1)

프로그래머스, 내적

문제

두 배열의 내적을 구하는 문제

내적은 두 배열의 길이만큼 같은 인덱스 번호의 number을 곱하고 결과값을 갖는 것을 의미한다.

입출력 예

abresult
[1,2,3,4][-3,-1,0,2]3
[-1,0,1][1,0,-1]-2

나의 풀이

let result = 0;

a.forEach((num, i) => result += num * b[i])

return result;

forEach를 사용하여 a를 반복하여 돌리고 result라는 변수에 a[i], 즉 num과 b[i]를 곱하여 대입 연산자로 더해준다.

코드 줄이기

잘 생각해보니 a의 길이만큼 반복하고 같은 index번호와 result라는 결과를 담을 수 있는 변수를 한 번에 충족하는 내장 함수가 있었다.

return a.reduce((acc, cur, i) => acc += cur * b[i], 0)

reduce를 이용하면 한줄로 끝낼 수 있다.

좋은 웹페이지 즐겨찾기