2020. 5. 2. 00:18

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

문제 설명


행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

 

제한 조건


  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

 

문제 풀이


import numpy as np

def solution(arr1, arr2):
    return (np.array(arr1)+np.array(arr2)).tolist()

numpy를 이용해서 행렬 더하기를 한다음에 리스트로 변환해준 값을 리턴해주면 된다.

 

다른 풀이


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함수는 보통 List를 여러개로 slice하거나 동일한 개수로 이루어진 자료형을 묶어줄 때 사용한다.

여기에는 배열 A,B를 하나로 묶어서 for문을 돌려서 각 원소들끼리 합쳐서 리턴하는 방법을 사용하기 위해 사용됐다.