나는 두 행렬을 더한 값을 행렬에 저장한 후 출력하는 방식으로 풀었다. 이것이 2번의 방식이다. 다른 풀이를 보니 굳이 더하지 않고 같은 리스트에 저장한 다음 더해서 출력했다. 나는 전자가 더 성능이 좋을 것이라고 생각하고 풀었는데 후자가 훠얼씬 좋다!
N, M = map(int, input().split())
lst = []
for _ in range(2):
for i in range(N):
lst.append(list(map(int, input().split())))
for i in range(N):
for j in range(M):
print(lst[i][j] + lst[i+N][j], end=' ')
print()
처음에 첫번째 for문에서 N이 아닌 M을 써서 EOFError가 발생했었다. 조심하자!
N, M = map(int, input().split())
lst = []
for i in range(N):
lst.append(list(map(int, input().split())))
for i in range(N):
second_lst = list(map(int, input().split()))
for j in range(M):
lst[i][j] += second_lst[j]
for row in lst:
print(*row)

시간 차이가 꽤 마니 난당...! 더하는 것까진 똑같이 접근하지만, 1번은 더함과 동시에 출력을 해서 더 이상의 접근이 없지만 2번은 출력을 위해 또 접근해서 그런 것 같다!