[프로그래머스] 행렬의 곱셈

개발하는 구황작물·2023년 1월 4일
0

알고리즘

목록 보기
8/8

행렬의 곱셈

행렬의 곱셈은 두 행렬의 크기가 조건에 맞는 경우에만 계산이 가능하다.
앞 행렬의 열의 수뒤 행렬의 행의 수가 같아야 계산이 가능하다.

곱셈의 결과로 나오는 행의 크기는 앞 행렬의 행의 수 x 뒤 행렬의 열의 수가 된다.

문제 풀이

public int[][] solution(int[][] arr1, int[][] arr2) {
        int arr1_row = arr1[0].length;
        int arr1_col = arr1.length;
        int arr2_row = arr2[0].length;
        int arr2_col = arr2.length;
        
        int[][] result = new int[arr1_col][arr2_row];
        
        for(int i = 0; i<arr1_col; i++) {
            for(int j = 0; j<arr2_row; j++) {
                int sum = 0;
                for(int k = 0; k<arr1_row; k++) {
                    sum += arr1[i][k] * arr2[k][j];
                }
                result[i][j] = sum;
            }
        }
        return result;
    }
profile
어쩌다보니 개발하게 된 구황작물

0개의 댓글