Algorithm

[프로그래머스] Level1 | 행렬의 덧셈 - 파이썬(Python) | 연습문제

토오오끼 2021. 11. 21. 17:35
728x90
반응형

 

https://programmers.co.kr/learn/courses/30/lessons/12950

프로그래머스 레벨1에서 '행렬의 덧셈' 문제를 풀었다.

쉽다고 생각하고 풀었는데 막상 아이디어가 떠오르지 않아 시간을 생각보다 많이 썼다.


2차원 배열로 어떻게 출력을 할 수 있을까 생각을 하다가 굳이 answr라는 list를 만들어서 거기에 넣을 필요가 없을 것 같았다. 꼼수를 부릴 수 있을 것 같았고 arr1의 원소와 같은 위치에 있는 arr2의 원소들을 더해 주기만 하면 answr 리스트 없이 정답을 출력할 수 있었다.

정답 코드

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

 


다른 사람들의 풀이

def sumMatrix(A,B):
    answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
    return answer

다른 사람들은 zip을 이용해서 풀었다.  각각의 원소들을 더하기 위해 zip을 사용하여 풀 수도 있다는 걸 알게 되었다..!

 


해당 문제 풀이 코드

 

GitHub - YOOHYOJEONG/algorithm_practice: 알고리즘 공부 및 코딩테스트 준비

알고리즘 공부 및 코딩테스트 준비. Contribute to YOOHYOJEONG/algorithm_practice development by creating an account on GitHub.

github.com

 

728x90
반응형