Algorithm/배열

[배열] 프로그래머스 행렬의 곱셉

Mini_96 2025. 7. 2. 14:01

https://school.programmers.co.kr/learn/courses/30/lessons/12949?language=java

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

* 풀이

answer 배열의 1칸씩 계산한다.

k가 핵심!

ex) 15 = 1*3 + 4*3 =

answer[0][0] = arr1[0][0] * arr2[0][0] + arr1[0][1] * arr2[1][0]

answer[i][j] = for(k=0 to c1) arr[i][k] * arr2[k][j] 

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int[][] answer = new int[arr1.length][arr2[0].length];

        for(int i=0;i<arr1.length;++i){
            for(int j=0;j<arr2[0].length;++j){
                for(int k=0;k<arr1[0].length;++k){
                    answer[i][j] += arr1[i][k]*arr2[k][j];
                }
            }
        }
        
        return answer;
    }
}