https://programmers.co.kr/learn/courses/30/lessons/12949
행렬의 곱셈법칙을 알아야 한다.
예시 2의 경우
[(2x5,3x2,2x3)(2x4,3x4,2x1)(2x3,3x1,2x1)],[],[]...식으로 구성된다.
즉, result[0][0]=arr1[0][0]xarr2[0][0] + arr1[0][1]xarr2[1][0] + arr1[0][2]xarr2[2][0]
result[0][1]=0,0x0,1 + 0,1x1,1 + 0,2x2,1
result[0][2]=0,0x0,2 + 0,1x1,2 + 0,2x2,2...와 같이 구할 수 있다.
해당 식에 따라 반복문을 구해주면 정답이다.
필요한 인덱스가 3개라 조금 헷갈렸던 문제이다.
def solution(arr1, arr2):
result=[[0]*len(arr2[0]) for _ in range(len(arr1))]
#print(result)
for k in range(len(arr1)):
for i in range(len(arr2[0])):
for j in range(len(arr1[0])):
result[k][i]+=arr1[k][j]*arr2[j][i]
#print(result)
return result