문제 해결 POINT
- 연산은 앞쪽의 열과 뒤쪽의 행이 같아야 이루어질 수 있다.
- 연산의 결과 행렬의 크기는 앞쪽의 행 * 뒤쪽의 열 이다.
- answer[i][j] += arr1[i][k] * arr2[k][j] 이다 ,이 때 k는 앞쪽의 열이자 뒤쪽의 행
풀이 코드
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
val answer = Array(arr1.size) { IntArray(arr2[0].size) }
for(i in 0 until arr1.size){ // 행 길이
for(j in 0 until arr2[0].size){ // 열의 길이
var sum=0
for(k in 0 until arr1[0].size){ // 열의 길이
sum=sum+arr1[i][k]*arr2[k][j]
}
answer[i][j]=sum
}
}
return answer
}
}
'코딩테스트 준비(kotlin) > 기본' 카테고리의 다른 글
[프로그래머스 kotlin] 2개 이하로 다른 비트 (0) | 2024.07.08 |
---|---|
[프로그래머스 kotlin] 할인 행사 (0) | 2024.06.21 |
[프로그래머스 kotlin] n^2 배열 자르기 (0) | 2024.06.19 |
[프로그래머스] 연속 부분 수열 합의 개수 (0) | 2024.06.18 |
[프로그래머스] N개의 최소공배수 (kotlin) (0) | 2024.06.13 |