알고리즘/프로그래머스

프로그래머스 - 행렬의 덧셈 / Python

Hwisaek 2021. 9. 29. 10:13
반응형

문제: https://programmers.co.kr/learn/courses/30/lessons/12950

 

코딩테스트 연습 - 행렬의 덧셈

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

programmers.co.kr

문제 설명

더보기

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

제한 조건
  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예arr1arr2return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]] [[3],[4]] [[4],[6]]

 


정답

def solution(arr1, arr2):
    return [[arr1[i][j] + arr2[i][j] for j in range(len(arr1[0]))] for i in range(len(arr1))]

 


풀이

 행렬의 덧셈을 구하는 문제입니다. 예전에 프로그래머스에서 코딩 테스트를 할 때 numpy가 지원되어 시도해보려 했으나 에러가 나서 직접 구하는 걸로 변경했습니다. 리스트 컴프리헨션을 이용하여 행렬의 덧셈을 계산했습니다.

 

 코드가 바로 이해가 되지 않으므로 실무에서는 for문을 이용하여 만드는 것을 추천합니다.

반응형