티스토리 뷰

프로그래머스 12949번 - 행렬의 곱셈

프로그래머스 12949번 - https://programmers.co.kr/learn/courses/30/lessons/12949

 

요구사항

1. 두 2차원 행렬 arr1과 arr2를 곱한 행렬을 반환하라.

 

요구사항 분석 및  풀이과정

1. 행렬 arr1 은 m by n, 행렬 arr2는 n by l이라고 할 때 두 2차원 행렬을 곱한 행렬은 m by l이다. 

2. 두 행렬을 곱한 행렬을 result라고 하면 result의 각 원소는 다음과 같다.

 

result[row][col] = sum(arr1[row][k] * arr2[k][col])

( 1 <= row <= m, 1 <= col <= l, 1 <= k <= n )

 

소스코드 작성

class Solution {

    public int[][] solution(int[][] arr1, int[][] arr2) {
        int m = arr1.length, n = arr1[0].length, l = arr2[0].length;
        int[][] result = new int[m][l];
        
        for(int row = 0; row < m; row++) {
            for(int col = 0; col < l; col++) {
                for(int k = 0; k < n; k++) {
                    result[row][col] += arr1[row][k] * arr2[k][col];
                }
            }
        }
        
        return result;
    }
}

 

결과

 

소스코드 깃허브 주소

링크

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함