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

런타임 오류 발생
입출력 예의 arr2가 2x2, 3x3 행렬이라 통과가 됐던 것이지,
arr2의 행과 열을 반대로 설정하였음
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int answer[][] = new int[arr1.length][arr2[0].length];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
int sum = 0;
for (int k = 0; k < arr2[j].length; k++) {
sum += arr1[i][k] * arr2[k][j];
}
answer[i][j] = sum;
}
}
return answer;
}
}
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int answer[][] = new int[arr1.length][arr2[0].length];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2[0].length; j++) {
int sum = 0;
for (int k = 0; k < arr2.length; k++) {
sum += arr1[i][k] * arr2[k][j];
}
answer[i][j] = sum;
}
}
return answer;
}
}
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int n = arr1.length;
int m = arr2[0].length;
int p = arr2.length;
int[][] answer = new int[n][m];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
for (int k = 0; k < p; k++)
answer[i][j] += arr1[i][k] * arr2[k][j];
return answer;
}
}