본문 바로가기

프로그래머스/기타

행렬의 곱셈

728x90

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) {
    vector<vector<int>> answer;
    int n = arr1.size();
    int m = arr2[0].size();
    vector<vector<int>>v(n, vector<int>(m,0)); 
    for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){
            int sum=0;
            for(int p=0; p<arr1[i].size(); p++){
                sum+=arr1[i][p]*arr2[p][j];
            }
            v[i][j]=sum;
        }
    }
    
    answer = v;
    
    return answer;
}

 

- 특정 크기의 이차원 배열 선언하는 법 잊지 말기 :vector<vector<int>>v(n, vector<int>(m,0)); 

'프로그래머스 > 기타' 카테고리의 다른 글

피보나치 수  (0) 2021.02.01
가장 큰 정사각형 찾기  (0) 2021.01.21
캐시 - 카카오 기출  (0) 2021.01.20
숫자의 표현  (0) 2021.01.19
프렌즈 4블록 - 카카오 기출  (0) 2021.01.19