TIL/알고리즘

알고리즘 - 행렬의 곱셈

saramnim 2023. 8. 23. 10:37
728x90

행렬의 곱셈 알고리즘에 대해 알아보자!

Q. 행렬의 곱셈

문제 설명

2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.

제한 사항

  • 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
  • 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
  • 곱할 수 있는 배열만 주어집니다.

입출력 예

arr1 arr2 result
[[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]]
[[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]]

solution.js

function solution(arr1, arr2) {
  return arr1.map((row) =>
    arr2[0].map((v, i) => 
      row.reduce((acc, cur, i2) => 
        acc + cur * arr2[i2][i], 0
      )
    )
  );
}
728x90
반응형