https://school.programmers.co.kr/learn/courses/30/lessons/12949
행렬의 곱이 어떻게 이루어지는지 알기 때문에 쉽게 풀거라 생각했는데 생각보다 시간이 걸렸다
왜냐면 너무 헷갈린다;;
A행B열 행렬과 C행D열 행렬 의 곱은 A행D열 행렬이 된다
2X3 행렬과 3X4 행렬의 곱은 2행4열이된다
그리고 B열과 C행의 숫자는 동일해야 곱할 수 있다(문제에서는 항상 곱할 수 있는 행렬이 주어진다고 했다)
왼쪽 행렬의 행과 오른쪽 행렬의 열을 곱하면 된다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr2[0].length];
int sum = 0;
for(int i = 0; i < arr1.length; ++i)
{
for(int j = 0; j < arr2[0].length; ++j)
{
for(int k = 0; k < arr2.length; ++k)
{
sum += arr1[i][k] * arr2[k][j];
}
answer[i][j] = sum;
sum = 0;
}
}
return answer;
}
}