프로그래머스 level 1 행렬의 덧셈
14 Jun 2021 | 기초 프로그래머스 TIL문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
입출력 예
arr1 | arr2 | return |
---|---|---|
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
제출 답안
def solution(arr1, arr2):
ans = []
for i in range(len(arr1)):
arr_in_ans=[]
## 배열이 두 겹이라 변수도 두 겹으로 만들어야한다.
for j in range(len(arr1[0])):
## range(len(arr1[0])) : arr1의 0번째 배열 안의 배열의 길이
arr_in_ans.append(arr1[i][j]+ arr2[i][j])
# i 와 j의 위치를 잘 생각하자
ans.append(arr_in_ans)
return ans
모범 답안
def sumMatrix(A,B):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
return answer
주요 포인트 및 생각해볼 점
배열안의 배열에 접근하는 법을 쓰는 부분이 어려웠다.
zip은 배웠는데도 까먹어서 쓰지 못했어서 다음에 zip으로 다시 해봐야겠다.
지금은 초보라서 zip을 안 쓰고 구현해보는 것도 좋은 연습이 될 것 같다. - 6.17 그렇지 않다 - 07.15 있는 것은 다 가져다쓰면서 실력을 늘려가는게 좋겠다(믹서기 있으면 맷돌 없어도 된다)