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

최대 1 분 소요

문제 링크

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


풀이 과정

두 행렬 A와 B의 곱은 A의 행 X B의 열의 차원을 갖습니다.

행렬의 곱셈 전개 방식에 따라 아래와 같은 식을 도출해 낼 수 있습니다.


코드

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static 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 k = 0; k < arr2[0].length; k++) {
                int sum = 0;

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

                answer[i][k] = sum;
            }
        }

        return answer;
    }

    public static void main(String[] args) {
        int[][] arr1 = {{1, 4}, {3, 2}, {4, 1}};
        int[][] arr2 = {{3, 3}, {3, 3}};
//        int[][] arr1 = {{2, 3, 2}, {4, 2, 4}, {3, 1, 4}};
//        int[][] arr2 = {{5, 4, 3}, {2, 4, 1}, {3, 1, 1}};

        int[][] answer = solution(arr1, arr2);
        for (int i = 0; i < answer.length; i++)
            System.out.println(Arrays.toString(answer[i]));
    }
}

카테고리:

업데이트:

댓글남기기