본문 바로가기

코딩테스트/프로그래머스

[Level 2][C++] 행렬의 곱셈

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {

    vector<vector<int>> answer(arr1.size());
    
    for(int i=0; i<arr1.size(); i++)
    {       
        for(int k=0; k<arr2[0].size(); k++)
        {
             int mul=0;
            for(int j=0; j<arr1[0].size(); j++)
                mul+= arr1[i][j]*arr2[j][k];
             answer[i].push_back(mul);
        }   
    }
    return answer;
}

 

i 첫번째 행렬의 행, j 첫번째 행렬의 열이자 두번째 행렬의 행, k 두번째 행렬의 열