본문 바로가기
Today/Study

23/11/22

by shulk 2023. 11. 22.

프로그래머스 행렬의 덧셈

문제

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


제한조건

행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

 

def solution(arr1, arr2):
    
    for i in range(len(arr1)) :

        for k in range(len(arr1[0])):
            arr1[i][k] += arr2[i][k] 
        
            
    answer = arr1
    
    return answer

 

이렇게 2중 반복문으로 같은 위치의 열을 더하는 방식으로 풀었는데 풀고나서 다른 사람 풀이 보니 

신기하고 한줄만에 풀고,마지막 테스트 케이스에서 나보다 절반정도 시간이 짧기도 하다ㄷㄷ

 

파이썬의 zip() 메소드를 이용한거였다!!

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

 

zip()을 검색해보니 여러 개의 순회 가능한(iterable) 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플의 형태로 차례로 접근할 수 있는 반복자(iterator)를 반환한다.

 

반복문의 반복변수 2개 일시

 

 

'Today > Study' 카테고리의 다른 글

23/11/24  (0) 2023.11.24
23/11/23  (0) 2023.11.23
23/11/20  (0) 2023.11.20
23/11/17  (0) 2023.11.17
23/11/16  (0) 2023.11.16