내 로드맵은 이러했다. A와 B라는 3x3 2차원 배열을 만들고 각각 같은 위치인 요소들끼리 더한 C라는 새로운 배열을 만들고 출력하자!
N, M = map(int, input().split())
A = []
B = []
C = []
for i in range(N):
A.append([j for j in map(int, input().split())])
for i in range(N):
B.append([j for j in map(int, input().split())])
for i in range(N):
C.append([0 for k in range(M)])
for i in range(N):
for j in range(M):
C[i][j] = A[i][j] + B[i][j]
for i in range(N):
for j in range(M):
if j == M - 1:
print(C[i][j])
else:
print(C[i][j], end=" ")
파이썬으로 이차원 배열은 처음 만들어봤다.
코드 풀이과정.
N, M = map(int, input().split())
A = []
B = []
C = []
for i in range(N):
A.append([j for j in map(int, input().split())])
for i in range(N):
B.append([j for j in map(int, input().split())])
for i in range(N):
C.append([0 for k in range(M)])
for i in range(N):
for j in range(M):
C[i][j] = A[i][j] + B[i][j]
for i in range(N):
for j in range(M):
if j == M - 1:
print(C[i][j])
else:
print(C[i][j], end=" ")
처음에 문제가 이해가 안돼서 살짝 당황했다가 이해하고나니 슥슥 풀렸다. 이차원 배열을 이전에 좀 다뤄봐서 도움이 됐다. 그리고 list comprhension은 잘 쓰면 진짜 만능인 것 같다. 간결하고 활용도 높고 최고다. 이 문제는 그냥 2차원 배열이 어떤 느낌인지 알고 가라고 만든 문제인듯. 가볍게 clear.