[프로그래머스] Lv.2 행렬의 곱셈 (Java)

subbni·2023년 2월 14일
0

프로그래머스

목록 보기
10/23

문제

풀이

행렬의 곱셈 개념

행렬 A의 열의 개수와 행렬 B의 행의 개수가 같을 때
행렬 A의 제 i행 성분과 행렬 B의 제 j열의 각 성분을 그 순서대로 곱하여 더한 것을 (i,j)성분으로 하는 행렬을 두 행렬 A와 B의 곱이라 한다.

즉, 행렬 A와 행렬 B의 곱인 행렬 C에 대해서 (A의 열의 개수 = 행렬 B의 개수 = M이라 할 때)

C[i][j] = (A[i][0]B[0][j]+A[i][1]B[1][j]+...+A[i][M]B[M][j])

코드

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int[][] answer = new int[arr1.length][arr2[0].length];
        
        for(int i=0;i<answer.length;i++) {
            for(int j=0;j<answer[0].length;j++) {
                int sum = 0;
                for(int c=0;c<arr2.length;c++) {
                    sum += arr1[i][c]*arr2[c][j];
                }
                answer[i][j] = sum;
            }
        }
        
        return answer;
    }
}
profile
개발콩나물

0개의 댓글