작성
·
153
0
def matrix_product(matrix_a, matrix_b): if not is_product_availability_matrix(matrix_a, matrix_b):
return False
return [[sum(a*b for a,b in zip(i,j)) for i in matrix_a] for j in matrix_transpose(matrix_b)]
2x2 행렬은 문제없었는데 3x3 product 3x2 해보니까 반례가 나옵니다.
[[1,2,3],[4,5,6],[7,8,9]] product [[a,b],[c,d],[e,f]] 찍어보니
[[1a 2c 3e], [4a, 5c, 6e] ...] 로 나오네요.
[[1a 2c 3e], [1b 2d 3f]...] 가 되어야 하는데.. 어디서 잘못한 걸까요?
답변 1
1
자문자답합니다. matrix_b 계산 순서가 후순위이므로 matrix_b for 문이 먼저 나와야 합니다.
return [[sum(a*b for a,b in zip(i,j)) for i in matrix_transpose(matrix_b)] for j in matrix_a]
이번 퀴즈 푸는데 이틀 걸린거 같네요.. 자살해야 하나요?