[Python][백준 2738] 행렬 덧셈

Date:     Updated:

카테고리:

태그:

📊 행렬 덧셈 문제 풀이

백준 2738번 행렬 덧셈 문제의 파이썬 풀이

📝 문제 설명

N×M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.

💡 풀이

이 문제는 2차원 리스트(행렬)를 다루는 문제이다. 두 행렬의 같은 위치에 있는 원소들을 더하면 된다. 입출력이 많으므로 sys.stdin.readline()을 사용하여 입력 속도를 개선했다.

🔍 코드 설명

  1. 행렬의 크기 N, M을 입력받는다.
  2. 첫 번째 행렬 A를 입력받아 2차원 리스트로 저장한다.
  3. 두 번째 행렬 B를 입력받으면서 동시에 행렬 A에 더한다.
  4. 결과 행렬을 출력한다.

✨ 참고

  • 2차원 리스트는 리스트 안에 리스트가 있는 구조이다.
  • sys.stdout.write()print()보다 빠른 출력 방식이다.
  • join()을 사용하여 리스트의 원소들을 문자열로 변환하고 연결할 수 있다.

📝 코드

import sys

n, m = map(int, sys.stdin.readline().split())

matrix_a = []
for _ in range(n):
    row = list(map(int, sys.stdin.readline().split()))
    matrix_a.append(row)

for i in range(n):
    row_b = list(map(int, sys.stdin.readline().split()))
    for j in range(m):
        matrix_a[i][j] += row_b[j]

for row in matrix_a:
    sys.stdout.write(" ".join(map(str, row)) + "\n")

Python Coding Test 카테고리 내 다른 글 보러가기