문제 URL : https://programmers.co.kr/learn/courses/30/lessons/12949
문제접근법 : 행렬의 곱셈을 알고리즘화 하는겁니다.
고등학교 수학만 배워도 행렬의 곱셈은 다아실꺼고 일반적인 알고리즘은 O(n^3)의 알고리즘이 나오고
누구든 쉽게 접근할수 있기때문에 그렇게 풀었습니다. 최적화 알고리즘은 O(n^2.xxx)라는 알고리즘이 있긴한데
이문제에선 할 필요없습니다.
행렬의 곱셀을 잘 모르신다면 https://ko.wikipedia.org/wiki/%ED%96%89%EB%A0%AC_%EA%B3%B1%EC%85%88
위에한번 공부하시길 바랍니다.
소스코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
vector<vector<int>> answer;
for (int i = 0; i < arr1.size(); i++) {
vector<int> v;
for (int k = 0; k < arr2[0].size(); k++) {
int sum = 0;
for (int j = 0; j < arr2.size(); j++) {
sum += arr1[i][j] * arr2[j][k];
}
v.push_back(sum);
}
answer.push_back(v);
}
return answer;
}
|
cs |
궁금한점 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다.
'프로그래머스' 카테고리의 다른 글
프로그래머스 삼각 달팽이 (0) | 2021.07.31 |
---|---|
프로그래머스 [3차] 방금그곡 (2018 KAKAO BLIND RECRUITMENT) (0) | 2021.07.31 |
프로그래머스 미로 탈출 (2021 카카오 채용연계형 인턴십) (2) | 2021.07.28 |
프로그래머스 2개 이하로 다른 비트 (0) | 2021.07.28 |
프로그래머스 124 나라의 숫자 (0) | 2021.07.28 |