프로그래머스 2레벨 12949 행렬의 곱셈

문제

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

2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.

풀이

문제 설명만큼 간단한 쉬운 문제

그런데..왠지 못 풀겠다

어이어이 이 녀석 바보아니냐고.. 🙀

행렬 계산을 알고 있으면 풀 수 있는 문제

반복문 조건에 계산되는 요소가 영향받는 게 무엇인가 생각해야함(행렬의 열에 영향받느냐 행에 영향받느냐 등)

코드

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
class Solution
{
int[][] solution(int[][] arr1, int[][] arr2)
{
int maxRow = Math.max( arr1.length, arr2.length);
int maxCal = Math.max( arr1[0].length,arr2[0].length);

int[][] answer = new int[arr1.length][arr2[0].length];

int result = 0;

for(int i=0;i<arr1.length;i++)
{
for(int j=0;j<arr2[0].length;j++)
{
result = 0;
for(int k=0;k<arr1[0].length;k++)
{
result += arr1[i][k] * arr2[k][j];
}
answer[i][j] = result;
}

}
return answer;
}

}

메모

문제 자체는 간단한 문제 그러나 능지 이슈로 풀지 못함

스스로 풀었는가 : ❎

프로그래머스 2레벨 12949 행렬의 곱셈

https://praisebak.github.io/2021/07/15/2021-07/p12949/

Author

Praisebak

Posted on

2021-07-15

Updated on

2021-07-14

Licensed under

Comments