본문 바로가기
파이썬

[행렬 원소 더하기] 백준 2738번 파이썬

by 주니코니 2023. 7. 23.

N, M = map(int, input().split())  # n*m 입력받기(n*m사이즈 원소 0으로 초기화)
# range 범위  M(열)부터
mat1 = [[0 for _ in range(M)] for _ in range(N)]
mat2 = [[0 for _ in range(M)] for _ in range(N)]
mat3 = [[0 for _ in range(M)] for _ in range(N)]
# [[0,0,0],[0,0,0],[0,0,0]]

# 하나의 행렬을 만들 때는 이중 for문 하나~!
# mat1 완성시키기
# 행렬 원소 입력 받기
for i in range(N):  # 행 줄 n개 만들기
    cols = list(map(int, input().split()))
    for j in range(M):# for문으로 mat[i][j]는 0,0좌표 부터 돌리기
        mat1[i][j] = cols[j]

for i in range(N):
    cols = list(map(int, input().split()))
    for j in range(M):
        mat2[i][j] = cols[j]

#행렬 더하기
for i in range(N):
    for j in range(M):
        mat3[i][j] = mat1[i][j] + mat2[i][j]
        
#더한 행렬 출력하기 
#인덱스는 자릿수를 의미 ex) a_ij 
for i in range(N):
    for j in range(M):
        print(mat3[i][j],end=' ')
    print() #두번째 for문 끝나면 아래 print() 실행 후 i+1

* 참고로 split : 

split('  '))) #split()과 동일함(가독성측면)

*이중 for문 출력 위치 주의