행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
| 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):
answer = []
for i in range(len(arr1)):
row = []
for j in range(len(arr1[i])):
row.append(arr1[i][j] + arr2[i][j])
answer.append(row)
return answer
# 이중 for문 사용
# 첫 번째 for문(arr1 길이만큼 반복)
# row 리스트 만들기
# 두 번째 for문(arr1[i] 길이만큼 반복)
# arr1[i][j] + arr2[i][j] -> row에 담기
# 두 번째 for문 끝난 후 answer에 row 담기
def sumMatrix(A,B):
answer = [[arr1[i][j] + arr2[i][j] for j in range(len(arr1[0]))] for i in range(len(arr1))]
return answer
# zip() 사용
def sumMatrix(A,B):
answer = [[c + d for c, d in zip(a,b)] for a, b in zip(A,B)]
return answer
# 넘파이 사용
import numpy as np
def sumMatrix(A,B):
A_np = np.array(A)
B_np = np.array(B)
result = A_np + B_np
return result.tolist() # 넘파이 배열 형태를 다시 리스트 형태로 변환
| [99클럽 1기] 99일지 DAY 10 - 나누어 떨어지는 숫자 배열, 행렬의 곱셈 (0) | 2024.04.05 |
|---|---|
| [99클럽 1기] 99일지 DAY 9 - 이상한 문자 만들기, 하샤드 수 (4) | 2024.04.04 |
| [99클럽 1기] 99일지 DAY 7 - 음양 더하기, 피보나치 수 (4) | 2024.04.02 |
| [99클럽 1기] 99일지 DAY 6 - 문자열 내림차순으로 배치하기, 자연수 뒤집어 배열로 만들기 (0) | 2024.04.01 |
| [99클럽 1기] 99일지 DAY 5 - 콜라츠 추측, 크기가 작은 부분 문자열 (0) | 2024.03.31 |