단의 개발 블로그
행렬의 곱셈 본문
💡 문제
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
💡 제한사항
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예

✨ 풀이
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int row = arr1.length;
int col = arr2[0].length;
int[][] answer = new int[row][col];
for (int i=0; i<row; i++)
{
for (int j=0; j<col; j++)
{
for (int k=0; k<arr2.length; k++)
{
answer[i][j] += arr1[i][k] * arr2[k][j];
}
}
}
return answer;
}
}
수학이 어렵다. 행렬 곱셈은 행렬 A의 행과 행렬 B의 열을 곱한다. 3중 반복문을 사용해서 해당 인덱스에 접근해서 계산했다.
'Algorithm > JAVA' 카테고리의 다른 글
| H-Index (1) | 2024.09.13 |
|---|---|
| 의상 (0) | 2024.09.13 |
| n^2 배열 자르기 (0) | 2024.09.09 |
| 괄호 회전하기 (1) | 2024.09.05 |
| 연속 부분 수열 합의 개수 (0) | 2024.09.05 |