반응형
문제주소 :programmers.co.kr/learn/courses/30/lessons/12950
<문제 설명>
더보기
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] |
<풀이법>
▒ 한줄 개념: 넘파이를 사용한 broadcasting 연산 ▒
이중 반복문을 통해서 풀 수도 있는 두 2차원배열을 내적하듯이 위치에 맞게 합연산해주면 되는 문제입니다.
파이썬의 모듈 중 하나인 numpy를 사용하면 훨씬 쉽게 할 수 있습니다.
numpy모듈을 사용하여 생성되는 ndarray는 배열과 비슷한 형태로, ndarray간의 연산시 자동으로 각 위치끼리의 연산이 이루어집니다.
따라서 numpy를 사용하여 두 배열을 모두 ndarray로 만들고, 두 ndarray를 합쳐 하나의 리스트로 되돌리면 쉽게 문제를 해결할 수 있습니다.
<코드(Python)>
import numpy as np
def solution(arr1, arr2):
n_arr1 = np.array(arr1)
n_arr2 = np.array(arr2)
return (n_arr1+n_arr2).tolist()
더 많은 코드 보기(GitHub) : github.com/dwkim-97/CodingTest
반응형
'Programmers' 카테고리의 다른 글
[프로그래머스] [1차] 다트게임 / Python (0) | 2021.01.15 |
---|---|
[프로그래머스] [1차] 비밀지도 / Python (0) | 2021.01.15 |
[프로그래머스] 하샤드 수 / Python (0) | 2021.01.15 |
[프로그래머스] 콜라츠 추측 / Python (0) | 2021.01.15 |
[프로그래머스] 최대공약수와 최소공배수 / Python (0) | 2021.01.15 |