[프로그래머스] Level1 - 행렬의 덧셈 (Python)

HJ Kim·2022년 6월 4일
0

프로그래머스

목록 보기
5/50

문제 설명

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

내 문제 풀이

  • 두 개의 행렬은 행과 열의 크기가 같다.
    -> 따라서 원소끼리 비교하기 위한 반복문 index 값은 둘 중 한 개의 행렬의 size로 해도 된다.
  • 두 개의 행렬은 2차원 행렬 이기 때문에 arr1[i][j] (i는 행, j는 열) 같이 접근 해야 한다.
  • for문 2개 써서 각각 원소 끼리 더한 후 list에 넣어서 해당 list를 append 한다.
def solution(arr1, arr2):
    
    l = []
    answer = []
    
    for i in range(len(arr1)): 
        for j in range(len(arr1[i])):
            l.append(arr1[i][j] + arr2[i][j])
        answer.append(l)
        l = []
        
    return answer

아쉬운점

아래 코드는 많은 사람들이 깔끔하다고 제출한 코드다.

def sumMatrix(A,B):
    answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
    return answer
  • zip 공부하기
profile
티끌모아 태산을 아는 사람

0개의 댓글