[백준 2738] 행렬 덧셈 / 파이썬

권한·2025년 12월 24일

BOJ

목록 보기
1/40

하하!

Index 에러에서 벗어나지 못해서 보니 인덱스 에러는 리스트, 문자열과 같이순서가 있는 데이터 구조에서 유효한 범위를 벗어나는 인덱스에 접근하려고 할 때 발생하는 오류 라고 한다.

열을 개수를 x, 행의 개수를 y로 설정하고 입력 과정에서 x, y = map(int, sys.stdin.readline().split()) 즉 x, y순서로 받아서 난 오류였다.

입력케이스가 많으므로 여러 케이스를 빠르게 입력받는 sys.stdin.readline()을 이용해 각 행에 들어가는 요소를 입력받았다.
split()이 공백을 기준으로 나누고 공백(\n, \t, space)을 제거해주기 때문에 rstrip()을 함께 사용하지 않아도 된다.

import sys

def getMatrix(n, m): #행개수n, 열개수m
    matrix = []
    for _ in range(n):
        line = list(map(int, sys.stdin.readline().split()))
        matrix.append(line)
    return matrix
def plusMatrix(a, b, n, m):
    for i in range(n):
        for j in range(m):
            print(a[i][j] + b[i][j], end = " ")
        print()

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

a = getMatrix(n, m)
b = getMatrix(n, m)
plusMatrix(a, b, n, m)
profile
티스토리로 옮김

0개의 댓글