단순히 행렬의 계산을 하려고 하면 어렵지 않다. 그런데 코드로 옮기려고 하면? 생각보다 쉽게 구현되지 않았다. 그래서 다시 행렬 연산을 공부하고 하나씩 옮겨봤다.
앞쪽의 열과 뒤쪽의 행
이 같아야 이루어질 수 있다.앞쪽의 행 * 뒤쪽의 열
이다.answer[i][j] += arr1[i][k] * arr2[k][j]
이다. 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){
for(int k = 0 ; k < arr1[0].length ; ++k) {
answer[i][j] += arr1[i][k] * arr2[k][j];
}
}
}
return answer;
}
}
첫 줄의 public 뒤의 int[][]의 역할은 뭔가요?
타입 선언인가요?