본문 바로가기
Solution_/프로그래머스

[프로그래머스] 행렬의 덧셈

by 낭람_ 2020. 8. 8.
반응형

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]

 

[pyton]

def solution(arr1, arr2):
    return list([x+y for x,y in zip(a,b)] for a, b in zip(arr1, arr2))

 

리스트 컴프리헨션을 통하여 한줄로 더할 수 있다..

 

이 문제 풀려고 리스트 컴프리헨션을 공부 해봤는데 아직 조금 어렵당..

 

우선 리스트 두개의 합을 구하는 방법은 다음과 같다.

arr1 = [1,2,3,4,5,6]
arr2 = [6,5,4,3,2,1]
print([a+b for a,b in zip(arr1, arr2)])

 

>> [7, 7, 7, 7, 7]

 

이를 이용해서 2차원 배열들의 합도 구할 수 있다.

 

arr1 = [[1,2,3],[4,5,6]]
arr2 = [[6,5,4,],[3,2,1]]
print([[x+y for x,y in zip(a, b)] for a, b in zip(arr1, arr2)])

 

>>> [[7, 7, 7], [7, 7, 7]]
반응형

댓글