행렬 2개가 주어졌을 때 곱할 수 있는 행렬인지 확인하고 곱할 수 있다면 그 결과를, 곱할 수 없다면 -1을 출력하는 프로그램을 만들어주세요.
input = [[1, 2],[2, 4]],[[1, 0],[0, 3]] output = [[1,6], [2,12]]
def matrix_mul(matrix_1, matrix_2):
#곱의 합
def sum_product(arr1, arr2):
return sum([a * b for a, b in zip(arr1, arr2)])
#행렬 뒤집기
def tran(matrix):
return [[matrix[j][i] for j in range(len(matrix))] for i in range(len(matrix[0]))]
return [[sum_product(arr1, arr2) for arr2 in tran(matrix_2)] for arr1 in matrix_1]
if __name__ == '__main__':
print(matrix_mul([[1, 2],[2, 4]],[[1, 0],[0, 3]]))
# [[1,6], [2,12]]