[프로그래머스 | Javascript] 월간 코드 챌린지 시즌1 - 내적

박기영·2022년 9월 14일
0

프로그래머스

목록 보기
46/159
post-custom-banner

solution

function solution(a, b) {
    // 내적
    let sum = 0;
    
    // 각 배열의 같은 인덱스를 곱한 값의 누적합을 구한다.
    for(let i = 0; i < a.length; i++){
        sum += a[i] * b[i];
    }
    
    return sum;
}

정말 간단한 문제다.
문제 예시에서 이미 답을 알려준 수준으로 풀이법을 줬기 때문에 쉽게 풀이가 가능했다.

다른 분 풀이

function solution(a, b) {
    let answer = a.reduce((acc, curr, idx) => acc += curr * b[idx], 0)
    
    return answer;
}

reduce()를 사용해서 누적합을 구하셨다.
이 것 또한 상당히 깔끔한 방법이라고 생각한다.
필자의 풀이와 비교해보자면
acc은 sum,
curr은 a[i],
idx는 b[i]를 얻기 위한 인덱스이다.
idx의 활용은 a와 b의 길이가 같고, 순서대로 연산하기 때문에 가능한 것이다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글