[TIP] 행렬의 곱셈

·2021년 9월 22일
0

Coding Test

목록 보기
3/3

N X M * M X L = N X L

3중 for문 사용



예제

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
     
    int n = arr1.size();
    int m = arr2.size();
    int l = arr2[0].size();
    
    // N X L 크기 행렬, 0 초기화
    vector<vector<int>> answer(n, vector<int>(l,0));
    
    for(int i = 0; i < n ; i++){
        for(int j = 0; j < l; j++){
            for(int k = 0; k < m; k++){
                 answer[i][j] += arr1[i][k] * arr2[k][j]; 
            }
        }        
    }
    
    return answer;
}
profile
나그네 개발자

0개의 댓글