본문 바로가기

Algorithm/Math

(C++) - 프로그래머스(연습문제) : 행렬의 곱셈

반응형

programmers.co.kr/learn/courses/30/lessons/12949

 

코딩테스트 연습 - 행렬의 곱셈

[[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]]

programmers.co.kr

행렬곱셈 구현 문제였습니다.

 

 

Code

#include <string>
#include <vector>

using namespace std;

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