Lv1. 행렬의 덧셈

zz·2023년 5월 18일
0

프로그래머스

목록 보기
36/36

내 풀이

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

temp로 variable을 새로 지정한건 별 의미 없고 그냥 arr의 값이 바뀔까봐 temp를 이용했다 그런데 문제 상에서 다시 given array를 참조하는 일은 없으니 그냥 한 array를 정해서 그 위에 값을 더해 reassign 하는 것도 하나의 방법일듯 함 그래도 일단 정석은 temp를 쓰는 것이니 그렇게 했어요

다른사람 풀이

def sumMatrix(A,B):
    answer = [[c + d for c, d in zip(a,b)] for a, b in zip(A,B)]
    return answer
def sumMatrix(A,B):
    return [list(map(sum, zip(*x))) for x in zip(A, B)]

zip을 쓰는 풀이가 많이 보였다 알다가도 모를 zip

import numpy as np

def sumMatrix(A,B):
    A_np = np.array(A)
    B_np = np.array(B)
    result = A_np + B_np
    return result.tolist()

np는 약간 편법이라고 생각해서 안썼는데 쓰는 것도 나쁘지 않다
numpy는 진짜 유용한 함수들이 많아서 알아두면 참 좋다 근데 이제 일반 python format으로 되돌리기 귀찮을 뿐

profile
응애 나 애기개발자

0개의 댓글