2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
arr1 | arr2 | return |
---|---|---|
[[1, 4], [3, 2], [4, 1]] | [[3, 3], [3, 3]] | [[15, 15], [15, 15], [15, 15]] |
[[2, 3, 2], [4, 2, 4], [3, 1, 4]] | [[5, 4, 3], [2, 4, 1], [3, 1, 1]] | [[22, 22, 11], [36, 28, 18], [29, 20, 14]] |
# (1)
def solution(arr1, arr2):
# (2)
answer = [ len(arr2[0])*[0] for i in range (len(arr1)) ]
for i in range (len(answer)):
for j in range (len(answer[i])):
for k in range (len(arr1[i])):
answer[i][j] += arr1[i][k]*arr2[k][j]
return answer
arr1 = [[2, 3, 2], [4, 2, 4], [3, 1, 4]]
arr2 = [[5, 4, 3], [2, 4, 1], [3, 1, 1]]
print(solution(arr1, arr2)) # 결과 예 : [[22, 22, 11], [36, 28, 18], [29, 20, 14]]
(1) : 기본적으로 arr1이 만약 m n의 사이즈이고 arr2가 만약 a b의 사이즈라고 가정한다면, 두 행렬의 곱 결과 사이즈는 m * b이다.
(2) : 리턴할 값 answer의 크기를 먼저 지정해줌
-> Irish Github