본문 바로가기
카테고리 없음

백준 - 2738. 행렬덧셈 파이썬

by 윤뇽뇽

 

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()

댓글