728x90
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 row = arr1.size();
int col = arr2[0].size();
int t = arr1[0].size();
int n;
vector<vector<int>> answer(row, vector<int>(col));
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
n = 0;
for (int k = 0; k < t; k++) {
n += (arr1[i][k] * arr2[k][j]);
}
answer[i][j] = n;
}
}
return answer;
}
행렬의 곱셈을 그대로 구현하면 된다. 3중 for문이라서 약간 헷갈렸지만 공책에 표시하면서 풀었더니 금방 쉽게 풀 수 있었다.
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 13335번 트럭 (0) | 2020.08.16 |
---|---|
[백준] 1051번 숫자 정사각형 (0) | 2020.08.16 |
[프로그래머스] 기능개발 (0) | 2020.07.31 |
[프로그래머스] 큰 수 만들기 (0) | 2020.07.30 |
[프로그래머스] 땅따먹기 (0) | 2020.07.30 |