2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
arr1
이 m x n
행렬이고 arr2
가 n x l
행렬이라면 둘은 곱한 행렬은 m x l
행렬이 된다. m x l
행렬 answer
를 만든다.저렇게 안 생기면 곱할 수 없다.
answer[i][j] = arr1[i][0] * arr2[0][j] + arr1[i][1] * arr2[1][j] + ... + arr1[i][m-1] * arr[m-1][j]
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
int n = arr1.size();
int m = arr2[0].size();
int h = arr2.size();
vector<vector<int>> answer(n, vector<int>(m));
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
for(int k = 0; k < h; k++){
answer[i][j] += arr1[i][k] * arr2[k][j];
}
}
}
return answer;
}