문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
arr1 | arr2 | return |
[[1,2], [2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
나의 코드
def solution(arr1, arr2):
answer2 = list()
for m in range(len(arr1)):
answer1 = list()
for n in range(len(arr1[0])):
answer1.append(arr1[m][n]+arr2[m][n])
answer2.append(answer1)
return answer2
다른 풀이
def solution(arr1, arr2):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(arr1, arr2)]
return answer
zip함수로 이렇게 간단하게 쓸 수 있다니,,,ㅇ0ㅇ
* zip(*iterable): 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다. 여기서 사용한 *iterable은 반복 가능한 자료형 여러 개를 입력할 수 있다는 의미이다.
'3. 알고리즘 > 프로그래머스' 카테고리의 다른 글
[python/탐욕법] 16. 체육복 (0) | 2021.01.06 |
---|---|
[python] 15. 키패드 누르기(feat. dictionary 활용) (0) | 2021.01.06 |
[python] 13. 두 개 뽑아서 더하기 (0) | 2021.01.05 |
[python] 12. 이상한 문자 만들기(feat. enumerate 함수) (0) | 2021.01.04 |
[python] 11. 콜라츠 추측 (0) | 2021.01.03 |