Python

Python 코드카타: 행렬의 덧셈

sawo11 2025. 2. 6. 23:49

행렬의 덧셈

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

 

방법 1. 이중 for문 사용

def solution(arr1, arr2):
    answer = []
    
    for i,j in zip(arr1, arr2): # arr1의 각 행(i)과 arr2의 각 행(j) 동시 순회
        row_sum = [] # 원소들의 합을 저장할 리스트 생성
        for n,m in zip(i,j): # i와 j 행의 각 원소 동시 순회
            row_sum.append(n+m)
        answer.append(row_sum)
    
    return answer

 

 

  • zip 함수:
    • 여러 개의 iterable(반복 가능한 객체)을 병렬적으로 순회하면서, 각 iterable에서 같은 인덱스에 있는 요소들을 하나의 튜플로 묶어주는 내장 함수


방법 2. numpy 사용

 

import numpy as np
def solution(arr1, arr2):
	answer = np.array(arr1) + np.array(arr2)
    return answer.tolist()

 

  • 리스트를 numpy 배열로 변환 후 덧셈 수행
    • np.array(arr1)와 np.array(arr2):
      입력받은 리스트 arr1과 arr2를 numpy 배열로 변환
      numpy 배열은 동일한 크기의 행렬 덧셈 등 벡터화 연산 지원
  • 결과 배열을 리스트로 변환하여 반환
    • answer.tolist()
      numpy 배열인 answer를 다시 파이썬의 기본 리스트(리스트의 리스트 형태)로 변환
      이렇게 변환한 후 결과를 반환하면, 파이썬 내장 자료형으로 작업 가능