#문제
https://programmers.co.kr/learn/courses/30/lessons/12949
#풀이
행렬의 곱셈을 프로그램으로 구현한다.
A행렬의 i행과 B행렬의 j행의 모든 성분의 곱을 합한 것이 결과 행렬의(i, j)의 성분이 된다.
A행렬의 크기가 m*n, B행렬의 크기가 n*p일 경우 결과 행렬의 크기는 m*p가 된다.
https://en.wikipedia.org/wiki/File:Matrix_multiplication_diagram_2.svg
#소스코드
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
// m*n n*k 행렬의 곱셈 결과는 m*k 행렬이다.
// 결과의 배열 생성
int[][] answer = new int[arr1.length][arr2[0].length];
for(int i = 0; i < answer.length; i++){
for(int j = 0; j < answer[i].length; j++){
for(int k = 0; k < arr1[0].length; k++){
answer[i][j] += arr1[i][k]*arr2[k][j];
}
}
}
return answer;
}
}
'💡Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 이진 변환 반복하기 (Java) (0) | 2021.10.21 |
---|---|
[프로그래머스] H-Index (Java) (0) | 2021.10.21 |
[프로그래머스] 괄호 회전하기 (Java) (0) | 2021.10.20 |
[프로그래머스] 튜플 (Java) (0) | 2021.10.20 |
[프로그래머스] 배달 (Java) (0) | 2021.10.20 |