function solution(arr1, arr2) {
let answer = [];
for(let i=0; i <arr1.length; i++){
answer[i] = [];
for(let j=0; j<arr1[i].length; j++){
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
행렬..ㅋㅋㅋㅋ 내가 알던 그 행렬 맞나..? 고작 덧셈 주제에 나를 힘들게 했다...ㅎㅎㅎㅎ
어제 이중 for문을 공부해서 다행..ㅎ 콘솔찍어가면서 값보고 돌렸다..
아니.. 너무 어려워요.....
//예제 arr1 = [[1,2],[2,3]] arr2 =[[3,4],[5,6]]
function solution(arr1, arr2) {
let answer = []; // 빈배열 만들기
for(let i=0; i <arr1.length; i++){
//배열의 길이만큼 돌린다. 크기가 같은 두 행렬의 덧셈이기 때문에 arr1.length로 돌리나 arr2.length로 돌리나 상관없다.
//arr1.length는 2이다. arr[0] = [1,2] / arr[1] = [2,3]
answer[i] = []; //2차원 빈 배열을 하나 만들어 준다.
// answer[0] 안에 [] 만들고, answer[1] 안에 []만들고 이런식이다..
//여기서는 [[],[]] 이렇게 만들어줌
for(let j=0; j<arr1[i].length; j++){
//arr1[i]의 길이만큼 돌린다.
//이것도 arr2[i].length라고 해도 무방하다.
//여기서 arr[0]의 length는 2, arr[0] = [1,2]
//arr[0][0] 은 1, arr[0][1]은 2
answer[i][j] = arr1[i][j] + arr2[i][j];
//arr1[0] = [1,2]
//arr1[0][0] = 1
//arr2[0] = [3,4]
//arr2[0][0] = 3
//answer[0][0] = 4
//현재 answer 배열 [[4],[]]
// ...
//arr1[0][1] = 2
//arr2[0][1] = 4
//answer[0][1] = 6
//현재 answer 배열[[4,6],[]]
//length만큼 돌았으니까 바깥 for문으로 간다.
//arr1[1][0] + arr2[1][0]으로 다시 시작
}
}
//answer에는 [[4,6],[7,9]]
return answer;
}
역시 콘솔찍어보는게 최고! 같은 index가 필요할때 for문을 돌려야 하는걸 알았기때문에 for문을 돌려야겠구나 생각을 했지만.. 이중 for문은 아직 너무 어렵다. 계속 해보고 익숙해져야지!