2738번: 행렬 덧셈
첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같
www.acmicpc.net
1. SOLUTION
A = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
B = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
행렬 A,B를 입력으로 받은 뒤
for i in range(N):
for j in range(M):
print(A[i][j] + B[i][j], end=" ")
print()
행/열을 이중 for문으로 탐색하면서 A,B의 각 자리 원소를 더한 후 바로 출력했다.
print의 end옵션을 사용해 행 내에서 띄어쓰기를 해 주었고,
행 출력이 끝난 후 print()를 사용해 줄을 띄워주었다.
처음에는 result라는 2차원배열을 새로 만들어서 합을 저장해주려고 했는데
바로 출력하면 더 효율적일 것 같아서 방법을 생각해낼 수 있었다.
2. CODE
import sys
N, M = map(int, sys.stdin.readline().split())
A = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
B = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
for i in range(N):
for j in range(M):
print(A[i][j] + B[i][j], end=" ")
print()
댓글