행렬의 덧셈
문제 링크
- 나의 풀이
//풀이과정 1.
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
arr_sum = []
for j in range(len(arr1[0])):
arr_sum.append(arr1[i][j] + arr2[i][j])
answer.append(arr_sum)
// 오답 위험 부분! 이중반복문 사용시 헷갈리지 않도록 주의!
return answer
// 최종 답안(정답)
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
arr_sum = []
for j in range(len(arr1[0])):
arr_sum.append(arr1[i][j] + arr2[i][j])
answer.append(arr_sum)
return answer
- 배열의 index와 length를 이용한 이중 반복문의 개념을 사용하여 코드를 작성하였다. 이중반복문 사용시 append()의 위치 설정이 헷갈렸다.
첫번째 답을 작성하였을때 answer.append(arr_sum)
코드를 두번째 for문 안에 위치시켰다. 순간적으로 헷갈릴 수 있으니 주의할 것!
- 다른사람의 풀이
def sumMatrix(A,B):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
return answer
def sumMatrix(A,B):
answer = [[A[i][j] + B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
return answer
- 간단한 문제일 수 있지만, 다양한 풀이법이 존재하는 것에 다시 한번 숙연해진다...