Algorithm/BaekJoon
(파이썬) 백준 2740번 "행렬 곱셈"
innit
2022. 5. 23. 19:43
# 답
N, M = map(int, input().split())
matrix1 = [list(map(int, input().split())) for _ in range(N)]
M, K = map(int, input().split())
matrix2 = [list(map(int, input().split())) for _ in range(M)]
ans = [[0] * K for _ in range(N)]
for n in range(N):
for k in range(K):
tot = 0
for m in range(M):
tot += matrix1[n][m] * matrix2[m][k]
ans[n][k] = tot
for i in range(len(ans)):
print(*ans[i])
# 행렬 곱셈
1. (곱셈 기호 앞에 있는 행렬의 열의 개수) == (곱셈 기호 뒤에 있는 행렬의 행의 개수) 일 때만 곱셈 가능
2. 곱셈 기호 앞에 있는 행렬의 i행과, 곱셈 기호 뒤에 있는 행렬의 j열의 성분을 차례대로 곱하여 더한 값이 정답 행렬의 (i, j) 성분
728x90
반응형