Game Develop

[Algorithm] Programmers :: 행렬의 곱셈 본문

Algorithm/Programmers

[Algorithm] Programmers :: 행렬의 곱셈

MaxLevel 2023. 6. 2. 00:33

https://school.programmers.co.kr/learn/courses/30/lessons/12949

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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
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> answerRow;
        vector<int> arr1Elements = arr1[i];
 
        for (int j = 0; j < arr2[0].size(); ++j) // arr2의 열크기만큼
        {
            int sum = 0;
 
            for (int k = 0; k < arr1[i].size(); ++k)
            {
                int first = arr1[i][k];
                int second = arr2[k][j];
 
                sum += first * second;
            }
 
            answerRow.push_back(sum);
        }
 
        answer.push_back(answerRow);
    }
 
    return answer;
}
cs

어려운 문제는 아닌데, 경험상 이런문제들도 한번씩 풀어봐야 실제 코딩테스트때 시간을 아낄 수 있다.