알고리즘 풀이/백준
[백준 2740] 행렬 곱셈 (python)
char_lie
2023. 4. 9. 11:30
반응형
https://www.acmicpc.net/problem/2740
2740번: 행렬 곱셈
첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개
www.acmicpc.net
행렬 곱셈 문제
행렬의 곱셈을 구해서 출력해보는 문제
행렬 연산 원리만 알면 쉽게 풀 수 있다.
📌 문제 접근 포인트
1. 행렬의 곱셈 연산에 대해 생각해보자.
2. 행렬은 A의 i 행 * B i 열 곱을 다 더한 형태로 되어있다.
3. 곱해서 출력하게 만들어주면 해결!
⚙ 내가 푼 정답 코드
def multi(a,b):
X = [[0]*K for _ in range(N)]
for i in range(N): # 행렬
for j in range(K):
for k in range(M):
X[i][j] += a[i][k]*b[k][j] #곱셈 연산
return X
import sys
N, M = map(int, sys.stdin.readline().split())
A = [list(map(int,sys.stdin.readline().split())) for _ in range(N)]
M, K = map(int, sys.stdin.readline().split())
B = [list(map(int,sys.stdin.readline().split())) for _ in range(M)]
for i in multi(A,B):
print(*i)
반응형