인프런 커뮤니티 질문&답변

Benjamin Kim님의 프로필 이미지
Benjamin Kim

작성한 질문수

프로그래밍, 데이터 과학을 위한 파이썬 입문

– 과제 제출 방법 : Linear algebra

선형대수 matrix_product 질문드립니다.

작성

·

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

Benjamin Kim님의 프로필 이미지
Benjamin Kim
질문자

자문자답합니다. 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]

이번 퀴즈 푸는데 이틀 걸린거 같네요.. 자살해야 하나요?

Benjamin Kim님의 프로필 이미지
Benjamin Kim

작성한 질문수

질문하기