map()을 사용하면 될 것 같았지만 숙련되지 않아 for문만을 사용했다.
어떻게 map() 을 사용할 수 있을까?
map()
numpy를 사용하거나 map() 사용이 숙련되지 않아.. 두 개의 배열을 인자로 받는 함수를 만들었다.
numpy 행렬덧셈
for문을 활용
function solution(arr1, arr2) {
let answer = [];
let temp = [];
for(var i=0; i<arr1.length; i++){
for(var j=0; j<arr1[0].length; j++){
temp.push( arr1[i][j]+arr2[i][j] )
}
answer.push(temp);
temp = [];
}
return answer;
}
function solution(arr1, arr2) {
return arr1.map( (a,i) => a.map( (b,j) => b+arr2[i][j] ) )
}
def solution(arr1, arr2):
answer = []
def add_arr(a, b) :
arr = []
for i in range(len(a)) :
arr.append(a[i]+b[i])
return arr
for i in range(len(arr1)) :
answer.append(add_arr(arr1[i],arr2[i]))
return answer
import numpy as np
def solution(arr1, arr2):
a = np.array(arr1)
b = np.array(arr2)
answer = a+b
return answer.tolist()
tolist() 를 생략할 경우 출력은 행렬의 형태이기 때문에 다음과 같은 에러발생
# TypeError: Object of type ndarray is not JSON serializable
numpy 라이브러리를 이용한 python 행렬계산
import numpy as np
arr1, arr2 = [[1, 2], [2, 3]], [[3, 4], [5, 6]]
a = np.array(arr1)
b = np.array(arr2)
answer = a+b
print(answer)
#[[4 6]
# [7 9]]
return answer
# TypeError: Object of type ndarray is not JSON serializable
# 출력이 행렬형태로 나타내기 때문에 return 할때는 tolist()를 이용한다.
print( answer.tolist() )
# [[4, 6], [7, 9]]