본문 바로가기
Backjoon

Backjoon - problem 2738 행렬 덧셈 파이썬

by ddahu 2023. 4. 27.

https://www.acmicpc.net/problem/2738

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net

 

 

  • 입력 과 출력

 

 

  • 해설
N,M = map(int , input().split())
nmList =[]
x,y = [],[]
for i in [x,y]:
    for j in range(N):
        i.append(list(map(int ,input().split())))

res = list(zip(x,y))
for i,j in enumerate(res):
    nmList.append([j[0][i]+j[1][i] for i in range(N)])

for matrix in nmList:
    print(' '.join(map(str,matrix)))

 

첫 번째 for문까지는 2차원 리스트를 입력 받아 만들어 주는 부분이다.

 

 

이 문제에서는 zip을 활용하여 

res = [([1, 1, 1], [3, 3, 3]), ([2, 2, 2], [4, 4, 4]), ([0, 1, 0], [5, 5, 100])]

이런식의 구조를 만들어 

각각의 튜플을 더하는 구조로 만들었다.