Dragonball Online Goku Hand
본문 바로가기
알고리즘 도장깨기

프로그래머스 Lv.1 "내적"

by 별의 코비 2022. 11. 15.
728x90

🔥 Programmers Lv.1 : 내적


🔍 문제 : " 길이가 같은 두 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 이하입니다.


👉🏻 My answer

let sum = 0;
                function solution(a, b) {
    for(let i=0; i<a.length; i++){
        sum += a[i]*b[i]
    }
    return sum;
}
: a와 b의 같은 인덱스의 값을 곱하는 것은 a,b 배열의 길이 만큼해주어 총 합계를 구하는 것이 내적입니다.
: 결국 배열의 길이만큼 각 배열의 값을 곱하여야 하므로 for문을 이용해주었습니다.


👉🏻 Another ways

function solution(a, b) {
    return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);
}
: 이 풀이를 보고 댓글 중 가장 인상깊었던 댓글은 reduce 이해하기가 넘 빡세다 빡대가리라는 댓글이었습니다...ㅎ
: 이거 내가 적을 거일 수도...ㅎ
: _ 은 cur입니다.

댓글