JavaScript | TypeScript/Javascript 코딩테스트

[ Javascript ] 코딩테스트 월간 코드 챌린지 시즌1 ( 내적 )

shiro21 2023. 4. 21. 22:03
반응형

내적

 

문제 설명
길이가 같은 두 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 입니다.

 

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

console.log(solution([1,2,3,4], [-3,-1,0,2])); // 3
console.log(solution([-1,0,1], [1,0,-1]	)); // -2

 

다른 사람의 풀이

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

reducer..!!!

 

반응형