
첫 풀이는 시간 초과로 인해 실패했다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr2.length];
int a = 0;
int i = 0;
while (true)
{
int sum = 0;
for (int j=0; j<arr2.length; j++)
{
sum +=arr1[a][j]*arr2[j][i];
}
answer[a][i] = sum;
i++;
if (i == arr2.length)
{
a++;
i=0;
}
if (a==arr1.length)
break;
}
return answer;
}
}
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int rows1 = arr1.length;
int cols1 = arr1[0].length;
int cols2 = arr2[0].length;
int[][] answer = new int[rows1][cols2];
// calculation for each row in arr1
for (int a = 0; a < rows1; a++) {
// calculation for each column in arr2
for (int i = 0; i < cols2; i++) {
int sum = 0;
// calculate sum
for (int j = 0; j < cols1; j++) {
sum += arr1[a][j] * arr2[j][i];
}
answer[a][i] = sum;
}
}
return answer;
}
}