[프로그래머스] 행렬의 덧셈 - 파이썬

송승우·2023년 10월 19일
0

Coding Test

목록 보기
26/35

문제 설명


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

solution.py


def solution(arr1, arr2):
    answer = [[]]
    arr_temp = []
    
    for i, j in zip(arr1, arr2):      
        for k in range(len(i)):
            arr_temp.append(i[k] + j[k])
        
        answer.append(arr_temp)
        arr_temp = []
        
    answer.pop(0)
    
    return answer

원래는 위에서 temp 리스트를 초기화 해주고 밑에서 for문을 돌리면서 다시 초기화 해주면 된다고 생각했다. 하지만 이렇게 되면 같은 코드가 중복되기 때문에 코드 효율성 측에서 문제가 된다.

def solution(arr1, arr2):
    answer = [[]]
    
    for i, j in zip(arr1, arr2):
        arr_temp = []
            
        for k in range(len(i)):
            arr_temp.append(i[k] + j[k])
        
        answer.append(arr_temp)
        
    answer.pop(0)
    
    return answer

이렇게 수정해주면 리스트를 초기화 해주는 코드를 위랑 for문 안에서 중복되지 않아도 된다.

profile
아무것도 하기 싫어요..

0개의 댓글