본문 바로가기
[Python] Programmers/Level1

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

by 파크영 2021. 7. 1.

문제 설명

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

나의 풀이

[Python(파이썬)]

def solution(arr1, arr2):
    temp, result = [], []
    for i in range(len(arr1)):
        for j in range(len(arr1[i])):
            temp.append(arr1[i][j]+arr2[i][j])
        result.append(temp)
        temp = []
    return result

 

학습한 내용

  • zip() - 동일한 개수로 이루어진 자료형을 묶어주는 역할을 하는 함수
# 다른 사람 풀이 1
def solution(A,B):
    answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
    return answer
  • numpy() - 다차원 배열을 처리하는데 필요한 여러 유용한 기능 제공
# 다른 사람 풀이2

import numpy as np

def solution(A,B):
    A=np.array(A)
    B=np.array(B)
    answer=A+B
    return answer.tolist()
  • tolist() - 같은 위치에 있는 데이터끼리 묶어줌

 

문제 출처

 

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

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

programmers.co.kr

 

댓글