Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 알고리즘
- 백트래킹
- dp
- Swift
- 풀이
- BFS
- Algorithm
- Blockchain
- 프로그래머스
- sigmoid
- Greedy
- 문제풀이
- 그래프
- ReLU
- 탐색
- C++
- NeuralNetwork
- DeepLearning
- 플로이드와샬
- 백준
- dfs
- ios
- mysql
- Docker
- Node.js
- 그리디
- 부르트포스
- 실버쥐
- 캡스톤정리
- Stack
Archives
- Today
- Total
개발아 담하자
[프로그래머스/C++] 행렬의 곱셈 풀이 본문
프로그래머스 : 행렬의 곱셈
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12949
문제
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
곱할 수 있는 배열만 주어집니다.
곱셈으로 인해 생성되는 행렬의 크기는 첫 번째 행렬의 행, 두 번째 행렬의 열의 크기만 하다.
행렬의 곱셈은 3중 for문을 기억해두자..!
풀이
#include <vector>
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 j=0; j<arr2[0].size(); j++){
int sum = 0;
for(int k=0; k<arr1[0].size(); k++){
sum += arr1[i][k] * arr2[k][j];
}
v.push_back(sum);
}
answer.push_back(v);
}
return answer;
}
풀이 인증
'👩💻 알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/C++] 구명보트 풀이 (0) | 2020.07.22 |
---|---|
[프로그래머스/C++] 더 맵게 풀이 (0) | 2020.04.28 |
[프로그래머스/C++] 올바른 괄호 풀이 (0) | 2020.03.17 |
[프로그래머스/C++] N개의 최소공배수 풀이 (0) | 2020.03.17 |
[프로그래머스/C++] 소수 찾기 풀이 (0) | 2020.03.11 |