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

Jhanoo·2024년 8월 5일

알고리즘 스터디

목록 보기
3/80

문제

문제 설명

2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.

제한 조건

행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
곱할 수 있는 배열만 주어집니다.


풀이 당시 떠올린 Idea

단순 행렬 곱 3중 for문 사용


풀이 후 알게 된 Idea


코드 풀이

행렬 곱 연산


작성한 코드

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

		for (int col = 0; col < arr1.length; col++) {
			for (int i = 0; i < arr2[0].length; i++) {
				int sum = 0;

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

		return answer;
	}
}
profile
어떻게든 해내는 사람

0개의 댓글