티스토리 뷰
프로그래머스 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;
}
}
결과

소스코드 깃허브 주소
'코딩테스트 > 알고리즘' 카테고리의 다른 글
| [알고리즘]프로그래머스 42587번 - 프린터 (0) | 2022.01.09 |
|---|---|
| [알고리즘]프로그래머스 42586번 - 기능개발 (0) | 2022.01.09 |
| [알고리즘]프로그래머스 17686번 - [3차] 파일명 정렬 (0) | 2022.01.09 |
| [알고리즘]프로그래머스 42747번 - H-Index (0) | 2022.01.09 |
| [알고리즘]프로그래머스 12924번 - 숫자의 표현 (0) | 2022.01.09 |