🍀 코딩 테스트/프로그래머스

LV1 - 행렬의 덧셈

놀러와요 버그의 숲 2022. 8. 21. 17:52
728x90
반응형

 

풀이

function solution(arr1, arr2) {
  let result = [];

  for (let i = 0; i < arr1.length; i++) {
    result.push(arr1[i].map((value, index) => arr1[i][index] + arr2[i][index]));
  }

  return result;
}

 

문제를 풀면서 막막했던 점을 적어보려고 한다.

 

1) 배열안의 배열끼리 연산을 할 때는 어떻게 해주어야 하지?

2) 각각 어떻게 더하게 만들지?

 

우선 기억해야할 점은 배열안에 또 객체나 배열이 들어있는 경우 각각의 요소를 처리해주기 위해서는 map 메서드를 기억하자.

 

그런데 각각 더하게 만들려면 한 번 더 들어가야한다. 그래서 for문을 같이 병행해서 이용한다.

(참고로 이중배열에 접근하려면 arr[][]와 같이 접근한다.)

 

그래서 for문의 i를 통해서 각 행에 대해서 접근을 해주고 map 메서드를 통해서 각 요소에 접근을 하는 방식이다.

 

 

번외

 

중간에 커밋을 하다가 두 파일이 모두 커밋되어버린 상황이 실수로 발생했다.

직전커밋을 되돌리는 CLI는 다음과 같아 이를 이용해 해결하였다.

git reset --soft HEAD^

 

스터디원의 다른 풀이

 

function solution(arr1, arr2) {
  let answer = [];
  for (let i = 0; i < arr1.length; i++) {
    let tmp = [];
    for (let j = 0; j < arr1[i].length; j++) {
      tmp.push(arr1[i][j] + arr2[i][j]);
    }
    answer.push(tmp);
  }
  return answer;
}

로직은 비슷하지만, for문으로만 구현하셔서 같이 공유하려고 한다. 

 

 

 

참고 자료

 

두 배열의 합 구하는 방법 

 

https://code-pervert.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%91%90-%EB%B0%B0%EC%97%B4%EC%9D%98-%ED%95%A9-Matrix-Addition

 

Javascript 두 배열의 합 (Matrix Addition)

자바스크립트 두 배열의 합계 구하기 배열 // 배열 const arrA = [1, 2, 3, 4,], arrB = [4, 5, 6, 7,]; // arrA와 arrB의 합계 구하기 arrA + arrB = [6, 8, 10, 12,]; - Array.prototype.map() 메서드 사용 arrA..

code-pervert.tistory.com

 

2차원 배열 접근하는 방법

 

https://joonfluence.tistory.com/508

 

[JavaScript] 자바스크립트에서 2차원 배열을 선언하는 방법

서론 대상독자 자바스크립트로 이차원 배열을 선언하고자 하는 개발자 오늘의 학습목표 자바스크립트에서 2차원 배열을 선언하는 방법을 알고, 이를 활용할 줄 안다. 본론 자바스크립트에서는

joonfluence.tistory.com

 

git add, git commit 취소 방법

 

https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html

 

[Git] git add 취소하기, git commit 취소하기, git push 취소하기 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io