📌 문제
💯 정답
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]
m, k = map(int, input().split())
b = [list(map(int, input().split())) for _ in range(m)]
ans = [[0]*k for _ in range(n)]
for r in range(n):
for c in range(k):
tmp = 0
for i in range(m):
tmp += a[r][i] * b[i][c]
ans[r][c] = tmp
for x in ans:
print(*x)
📝 설명
• 최종적으로 출력될 연산된 행렬을 0으로 초기화 해 만들어 준다.
이때, 행과 열은 a의 행 b의 열이 된다.
• 이후 행렬의 곱 연산을 수행하면되는데,
만약 1행2열의 값을 구하고 싶다면 a의 1행 i열 값과 b의 i행 2열의 각각의 곱의 합을 구하면 된다.
• ans = [[],[],[],•••]가 될 것이고 이를 *를 통해 unpackging해 출력한다.