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

주연·2022년 1월 29일
0

Python 문제 풀이

목록 보기
4/20
post-thumbnail

문제

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

풀이

1) 내 풀이

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

2) 다른사람 풀이

import numpy as np
def sumMatrix(A,B):
    A=np.array(A)
    B=np.array(B)
    answer=A+B
    return answer.tolist()

악 넘파이 생각했는데 배열로 바꿨다가 다시 리스트로 바꾸는거 약간 웃겨서 안했는데 정작 보니 괜찮은듯하다

3) 다른사람 풀이2

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 참고) https://ooyoung.tistory.com/60

profile
공부 기록

0개의 댓글