Math-행렬의 곱셈
💡 핵심 아이디어
두 개의 행렬에서 한 개의 행렬을 만들어내는 이항연산이다. 이 때 첫째 행렬의 열 개수와 둘째 행렬의 행 개수가 동일해야한다.
행렬 와 의 곱은 간단히
로 나타낸다.
C행렬의 (i,j) 번째 값은 A의 i번째 행과 B의 j번째 열의 성분들을 각각 곱해 더한 것과 같다.
✅ 코드
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int n = arr1.length ; // A 배열의 행갯수
int m = arr2[0].length ; // B 배열**의 열갯수 (A배열 X)
int[][] answer = new int[n][m];
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < m ; j++){
answer[i][j] = getResult(arr1, arr2, i, j) ;
}
}
return answer ;
}
public int getResult(int[][] arr1, int[][] arr2, int row, int col){
int sum = 0;
for(int i = 0 ; i < arr1[0].length ; i++){
sum += (arr1[row][i] * arr2[i][col]) ;
}
return sum ;
}
}
댓글남기기