문제
1 번째 시도
보기엔 굉장히 쉬어보이지만 구현하는데 애 많이먹었다
- 행렬부터 다시 짚어보겠다
- arr1배열의 행과 arr2의 열을 곱하는 거다
- 그러므로 arr1행의 길이와 arr2의 열의 길이는 같아야 한다
- i = 현재 행을 가르키는 인덱스
- j = 현재 열을 가르키는 인덱스
- k = 내적 계산에서 사용되는 인덱스로, 행렬 A의 열과 행렬 B의 행을 동시에 순회합니다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr2[0].length];
for(int i = 0 ; i < arr1.length ; ++i){
for(int j = 0 ; j < arr2[0].length ; ++j){
for(int k = 0 ; k < arr1[0].length ; ++k) {
answer[i][j] += arr1[i][k] * arr2[k][j];
}
}
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
항해 99 13일차 TIL( 덧칠하기 / 프로그래머스) (0) | 2024.04.09 |
---|---|
항해99 11일차 TIL(피로도 / 프로그래머스) (0) | 2024.04.06 |
항해99 TIL 9일차(기사단원의 무기 / 프로그래머스) (1) | 2024.04.03 |
항해99 TIL 8일차 (피보나치 수 / 프로그래머스) (0) | 2024.04.02 |
항해99 TIL 7일차 (크기가 작은 부분 문자열 / 프로그래머스) (0) | 2024.04.01 |