본문 바로가기

Python/백준

#1 [python] 백준 2738번 행렬덧셈

728x90

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

 

2738번: 행렬 덧셈

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

www.acmicpc.net

 

행렬 덧셈

 

문제

A, B = [], []

N, M = map(int, input().split())

for row in range(N):
    row = list(map(int, input().split()))
    A.append(row)

for row in range(N):
    row = list(map(int, input().split()))
    B.append(row)
    
for row in range(N):
    for col in range(M):
        print(A[row][col] + B[row][col], end=' ')
    print()

 

 

A, B = [], []  // 행렬을 받을 리스트 A,B를 선언

 

N,M = map(int,input().split()) // N,M을 통해 행렬의 크기를 입력받음

 

for row in range(N):
    row = list(map(int, input().split()))
    A.append(row)

for row in range(N):
    row = list(map(int, input().split()))
    B.append(row) // A,B에 행렬의 원소를 입력 받기

 

- 입력 조건 중 한 행씩 입력을 받으므로 행의 크기만큼 입력을 반복하여 받는다

- 입력 받은 행을 행렬에 삽입한다. 이 과정을 반복하여 행렬 A,B를 완성시킨다

 

4. 행렬 A,B를 더한 행렬을 출력한다.

 

for row in range(N):

    for col in range(M):

        print(A[row][col] + B[row][col], end='  ')

    print()

 

- 반복문을 통해 행렬 A,B의 동일 행, 동일 열에 위치한 원소를 더한 값을 출력하고, end = '  '를 통해 띄어쓰기로 열을 구분하여 출력

- 하나의 열을 출력한 다음, 다음 행으로 넘어가기 전에 print()를 통해 줄바꿈을 해주어 행을 구분

 

 

참고:

https://develop247.tistory.com/93