UP
[프로그래머스 : PYTHON] 행렬의 덧셈 본문
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
arr1 | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
문제풀이
처음엔 zip()으로 풀고 싶었는데 zip 함수에 대한 이해가 완전하지 않아서 결국 for문 두개로 하나씩 탐색해 가면서 풀었다. '다른 사람 풀이'를 참고해서 풀면 좋다.
arr1 => [[1,2],[2,3]], arr2 => [[3,4],[5,6]]
첫 번째 zip : [ ( [1,2], [3,4] ), ( [2,3], [5,6] ) ]
두 번째 zip : [ ( (1, 3), (2, 4) ), ( (2, 5), (3, 6) ) ]
전체코드
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
tmp = []
for j in range(len(arr1[0])):
tmp.append(arr1[i][j] + arr2[i][j])
answer.append(tmp)
return answer
다른 사람 풀이
def solution(A,B):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
return answer
반응형
'알고리즘 > 기타' 카테고리의 다른 글
[프로그래머스 : PYTHON] 직사각형 별찍기 (0) | 2021.06.05 |
---|---|
[프로그래머스 : PYTHON] x만큼 간격이 있는 n개의 숫자 (0) | 2021.06.05 |
[프로그래머스 : PYTHON] 핸드폰 번호 가리기 (0) | 2021.06.05 |
[프로그래머스 : PYTHON] 하샤드 수 (0) | 2021.06.05 |
[프로그래머스 : PYTHON] 평균 구하기 (0) | 2021.06.05 |
Comments