[Level 1] 행렬의 덧셈
풀이 1
arr1_1 = [[1, 2], [2, 3]]
arr2_1 = [[3, 4], [5, 6]]
arr1_2 = [[1], [2]]
arr2_2 = [[3], [4]]
import numpy as np
def solution(arr1, arr2):
A = np.array(arr1)
B = np.array(arr2)
return (A + B).tolist()
print(solution(arr1_1, arr2_1))
print(solution(arr1_2, arr2_2))
numpy
를 사용하면 안되는 줄 알았는데 적어도 Programmers에서는 사용 가능한 것 같다.
np.array
를 이용해 ndarray
로 변환 후 더해주었고 마지막에 tolist()
메소드를 이용해서 리스트로 변환해 주었다.
행렬 연산에는 아무래도 numpy
가 편한데 코테에서 numpy
를 사용 못하게 할 수 있으니 다른 솔루션도 살펴봐야 한다.
풀이 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
을 사용한 풀이이다.
풀이 3
def solution(arr1, arr2):
for i in range(len(arr1)):
for j in range(len(arr2[0])):
arr1[i][j] += arr2[i][j]
return arr1
Author And Source
이 문제에 관하여([Level 1] 행렬의 덧셈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@t1won/Level-1-행렬의-덧셈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)