#70. 백준 2738번 문제 풀이: 행렬 덧셈 문제 원본 보기
N*M 크기의 두 행렬 A B를 더하는 프로그램을 작성하시오. 입력: 첫줄에 행렬의 크기 N M. 둘째줄 부터 A 행렬 M*N 개가 주어지고, B의 행렬 M*N이 주어진다. N M 은 100이하, 행렬의 원소는 절대값 100이하 정수이다. 출력: A B를 더한 M*N 행렬 출력.
입력/출력
--입력--
3 3
1 1 1
2 2 2
0 1 0
3 3 3
4 4 4
5 5 100
--출력--
4 4 4
6 6 6
5 6 100
문제풀이+해설
두 행렬의 덧셈은 같은 행, 같은 열끼리 값을 더해서 같은 행, 열에 위치시키면 된다.

프로그램 루틴은,
행(N) 과 열(M) 값을 받고,
행(N) 줄까지 열(M) 갯수의 숫자를 입력받아 배열에 저장해서, 같은 배열 위치값 끼리 더하면 된다.

행렬의 덧셈 원리와 기본적인 배열의 사용법을 알고 있으면 쉽게 풀 수 있다.
code sol.
A=[] # A행렬 받을 리스트
B=[] # B행렬 받을 리스트
N, M = map(int, input().split())
# N * M 행, 열 갯수 받음
for i in range(N): # 행수 만큼 반복
  A.append(list(map(int, input().split()))) # 열 데이타 받음
for i in range(N): # 행수 만큼 반복
  B.append(list(map(int, input().split()))) # 열 데이타 받음

for i in range(N): # 행 만큼 반복
  for j in range(M): # 열 만큼 반복
    print(A[i][j] + B[i][j], end=' ') # 더해서 출력
  print() # 줄 바꿈
© 코드솔 - CodeSol. All Rights Reserved.