반응형
문제 설명
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예
풀이
#include <vector>
#define PB push_back
using namespace std;
typedef vector<vector<int>> vvi;
int cul(int x, int y, vvi arr1, vvi arr2){
int sum = 0;
for(int i=0; i<arr2.size(); i++){
sum += arr1[x][i] * arr2[i][y];
}
return sum;
}
vector<vector<int>> solution(vvi arr1, vvi arr2) {
vvi answer(arr1.size());
for(int i=0; i<arr1.size(); i++){
for(int j=0; j<arr2[0].size(); j++){
answer[i].PB( cul(i, j, arr1, arr2) );
}
}
return answer;
}
반응형
'IT > 알고리즘' 카테고리의 다른 글
프로그래머스 - 동물 수 구하기(SQL) (0) | 2020.11.24 |
---|---|
프로그래머스 - 수식 최대화 (c++) (0) | 2020.11.24 |
프로그래머스 - 피보나치 수(c++) (0) | 2020.11.08 |
프로그래머스 - 최솟값 만들기(c++) (0) | 2020.11.05 |
프로그래머스 - 최댓값과 최솟값(c++) (0) | 2020.10.30 |