https://school.programmers.co.kr/learn/courses/30/lessons/12949
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
행렬곱셈하는 법을 까먹어서 검색했다.
또한 벡터에 메모리가 할당되어 있지 않다면
v[0][1]=1;이런식으로 데이터를 넣지 못하고
v.push_back(1); 이렇게 넣어줘야 한다는 점을 간과했다.
비주얼 스튜디오에 의존하다 보니까 아무기능도 없을 때 기초가 부족한 것이 티가 나는 것 같다.
2차원 벡터에 메모리 주소만 할당 되고 메모리가 할당되지 않아서
1차원 벡터에 값을 저장해주고 answer에 1차원벡터를 넣는 방식으로 풀었다.
#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;
vector<int>v;
int w=arr2[0].size();//가로 사이즈
int h=arr1.size();//세로 사이즈
int k=arr2.size();
int temp=0;
for(int i=0;i<h;i++)
{ vector<int>v;
for(int j=0;j<w;j++)
{
for(int m=0;m<k;m++)
{
temp+=arr1[i][m]*arr2[m][j];
}
v.push_back(temp);
temp=0;
}
answer.push_back(v);
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 디펜스 게임 c++ (0) | 2023.01.01 |
---|---|
[프로그래머스] 두 큐 합 같게 만들기 c++ (0) | 2022.12.08 |
[프로그래머스] 문자열 압축 c++ (0) | 2022.12.03 |
[프로그래머스] 점프와 순간 이동 c++ (0) | 2022.12.01 |
[프로그래머스] Lv2. JadenCase 문자열 만들기 (0) | 2022.11.25 |