본문 바로가기
Coding Test/JavaScript

[프로그래머스] 내적 JavaScript Code

by giem 2022. 7. 29.
반응형

2022.07.29 - [Coding Test/Go] - [프로그래머스] 내적 Go Code

2022.07.29 - [Coding Test/Python] - [프로그래머스] 내적 Python Code

2022.07.29 - [Coding Test/C++] - [프로그래머스] 내적 C++ Code

 

프로그래머스 내적을 JS로 풀어보겠다.


문제

 


Code

function solution(a, b) {
    var answer = 0;
    for(var i=0; i<a.length; i++){
        answer += a[i]*b[i];
    }
    return answer;
}

무난하게 풀어봤는데 다른사람의 풀이를 보니 신기한 함수를 썼다.

 

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

 


JS reduce

 

reduce는 4개의 인자를 가진다.

1. acc : 누산기

2. cur : 현재 값

3. idx : 현재 idx

4. src : 원본 배열

 

작동 방식은

reduce 함수의 반환값이 acc에 계속 더해져서 결과로 반환된다고 생각하면 쉽다.

 

결국 구현된 코드는

a의 길이만큼 for문을 돌며 i를 증가시키고

a[i] * b[i]를 sum 한 값을 반환한 것이다.

반응형

댓글