본문 바로가기
알고리즘 풀이/프로그래머스

[level 2] 행렬의 곱셈 - 12949

by cornsilk-tea 2023. 4. 26.

문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int[][] answer = {};
        // 행렬 곱셈의 결과, 행렬의 크기는 왼쪽행렬의 행 개수와 오른쪽 행렬의 열 개수를 가진다.
        int[][] arr = new int[arr1.length][arr2[0].length];
        
        // 반복문을 통해 각각의 위치에 맞는 값을 넣어준다.
        for(int r = 0; r < arr.length; r++){
            for(int c = 0; c < arr[0].length; c++){
                // 반복문을 통한 값 계산
                for(int i = 0; i < arr1[r].length; i++){
                    arr[r][c] += arr1[r][i] * arr2[i][c];
                }
            }
        }
        
        return arr;
    }
}