[Python] 코딩테스트_ 행렬의 덧셈

김희정·2024년 2월 19일

코딩테스트

목록 보기
12/13

프로그래머스_ 행렬의 덧셈

Problem

문제 설명

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

두 행렬 arr1, arr2를 더하는 문제.

  1. 행 개수 : len(arr1)
  2. 열 개수 : lent(arr1[0])

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번 풀이

def solution(arr1, arr2):
    answer = [[c + d for c, d in zip(a,b)] for a, b in zip(arr1, arr2)]
    return answer

zip 함수 : 동일한 인덱스의 원소들을 순서대로 묶어주는 역할

  • zip(a,b) : arr1의 a번째 행과, arr2의 a번째 행을 묶어줌
  • zip(a,b)로 묶인 각 행의 원소들을 for c, d in ... 구문을 통해 각각 'c', 'd' 에 할당
  • 할당된 값들을 더하여 새로운 리스트에 추가

참고

profile
데이터 애널리스트가 되고 싶은

0개의 댓글