https://school.programmers.co.kr/learn/courses/30/lessons/12949
행렬의 곱을 풀어쓰면 3중 반복문을 어떻게 써야 할지 알 수 있다.
나는 미리 벡터 크기를 할당해 주었는데, push_back을 활용해도 된다.
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
vector<vector<int>> answer(arr1.size(),vector<int>(arr2[0].size()));
for(int i=0;i<answer.size();i++)
{
for(int j=0;j<answer[0].size();j++)
{
for(int k=0;k<arr1[0].size();k++)
answer[i][j]+=arr1[i][k]*arr2[k][j];
}
}
return answer;
}
'문제를 풀자' 카테고리의 다른 글
[프로그래머스] 섬 연결하기(C++) (0) | 2022.08.16 |
---|---|
[프로그래머스] 네트워크(C++) (0) | 2022.08.16 |
[프로그래머스] N개의 최소공배수(C++) (0) | 2022.08.12 |
[프로그래머스] 피보나치 수(C++) (0) | 2022.08.12 |
[프로그래머스] 최솟값 만들기(C++) (0) | 2022.08.12 |
댓글