본문 바로가기
Algorithm/프로그래머스

[프로그래머스]연습문제 : 행렬의 곱셈(level 2)(c++)

by HBGB 2020. 5. 20.

https://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

 

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    
    int Arow = arr1.size();
    int Acol = arr1[0].size(); // Acol == Brow
    int Bcol = arr2[0].size();

    // 행렬(a * k) * 행렬(k * b) --> 행렬(a * b)
    vector<vector<int>> answer(Arow, vector<int>(Bcol));
    for (int i = 0; i < Arow; ++i)
    {
        for (int j = 0; j < Bcol; ++j)
        {
            for (int k = 0; k < Acol; ++k)
            {
                answer[i][j] += arr1[i][k] * arr2[k][j];
            }
        }
    }
    return answer;
}

 

행렬의 곱셈

중학교때 배웠던 것 같다ㅋㅋ

오랜만에 쓰려니 가물가물하여 다시 찾아보았다.

 

https://j1w2k3.tistory.com/575

 

[행렬 이론 03탄] 행렬의 연산 (곱셈)

주요 목표 주요한 개념에 대한 간결한 이해를 돕기 위해서 기본 론을 주제별로 나누어서 정리를 하고자 만들어 보았습니다. 주요내용 행렬의 곱셈의 원리와 계산방법 주로 행렬의 연산과정에서

j1w2k3.tistory.com

 

댓글