https://programmers.co.kr/learn/courses/30/lessons/12949
#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
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스]연습문제 : 최솟값 만들기 (level 2)(c++) (0) | 2020.05.20 |
---|---|
[프로그래머스]연습문제 : 최댓값과 최솟값 (level 2)(c++) (0) | 2020.05.20 |
[프로그래머스]연습문제 : 숫자의 표현(level 2)(c++) (0) | 2020.05.20 |
[프로그래머스] 찾아라 프로그래밍 마에스터 : 폰켓몬(level 2)(c++) (0) | 2020.05.20 |
[프로그래머스]연습문제 : JadenCase 문자열 만들기(level 2)(c++) (0) | 2020.05.20 |
댓글