๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ, C++

by candosh 2024. 11. 22.

 

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ

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

โœ๐Ÿป ๋ฌธ์ œ ์„ค๋ช…

๐Ÿ’๐Ÿป‍โ™€๏ธ ๋‚ด ํ’€์ด

ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ

ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ ๋ฌธ์ œ์ด๋‹ค. ํ–‰๋ ฌ ๊ณฑ์…ˆ์˜ ๋ฐฉ๋ฒ•์€ ์•Œ์•„์•ผ ํ’€์ดํ•˜๊ธฐ ์‰ฝ๋‹ค. (X์ž ๊ธฐ์–ตํ•˜์‹œ๋‚˜์š”?)

 

๋‚˜๋จธ์ง€๋Š” ์•„๋ž˜ ํ’€์ด๋ฅผ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๊ฐˆ ๊ฒƒ์ด๊ณ , ์ด๋ฒˆ์— ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ์ฒ˜์Œ 2์ฐจ์› answer๋ฅผ ์–ด๋–ป๊ฒŒ ์ดˆ๊ธฐํ™” ํ•˜๋Š”์ง€ GPT๊ฐ€ ์•Œ๋ ค์คฌ๋‹ค.

 

๊ฒฐ๊ณผ ํ–‰๋ ฌ ์ดˆ๊ธฐํ™” ๋ถ€๋ถ„์„ ๋ณด๋ฉด ๋˜๋Š”๋ฐ, ๊ฐ๊ฐ ๋ฒกํ„ฐ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ๋ ์ง€ ์•Œ ์ˆ˜ ์žˆ์„ ๋• ์ด๋ ‡๊ฒŒ ์ดˆ๊ธฐํ™”ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

๐Ÿค– ์ฝ”๋“œ

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    
    int n = arr1.size();    // ํ–‰๋ ฌ A์˜ ํ–‰ ๊ฐœ์ˆ˜
    int m = arr2[0].size(); // ํ–‰๋ ฌ B์˜ ์—ด ๊ฐœ์ˆ˜
    int k = arr1[0].size(); // ํ–‰๋ ฌ A์˜ ์—ด ๊ฐœ์ˆ˜ == ํ–‰๋ ฌ B์˜ ํ–‰ ๊ฐœ์ˆ˜

    vector<vector<int>> answer(n, vector<int>(m, 0)); // ๊ฒฐ๊ณผ ํ–‰๋ ฌ ์ดˆ๊ธฐํ™”

    for (int i = 0; i < n; i++) {        // ํ–‰๋ ฌ A์˜ ํ–‰ ๋ฐ˜๋ณต
        for (int j = 0; j < m; j++) {    // ํ–‰๋ ฌ B์˜ ์—ด ๋ฐ˜๋ณต
            for (int l = 0; l < k; l++) { // ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆ˜ํ–‰
                answer[i][j] += arr1[i][l] * arr2[l][j];
            }
        }
    }
    
    return answer;
}