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문으로만 구현하셔서 같이 공유하려고 한다.
참고 자료
두 배열의 합 구하는 방법
2차원 배열 접근하는 방법
https://joonfluence.tistory.com/508
git add, git commit 취소 방법
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
'🍀 코딩 테스트 > 프로그래머스' 카테고리의 다른 글
LV1- 최대공약수와 최소공배수 (0) | 2022.08.21 |
---|---|
LV1 - x만큼 간격이 있는 n개의 숫자 (0) | 2022.08.21 |
LV 1 - 직사각형 별 찍기 (0) | 2022.08.21 |
LV1 - 제일 작은 수 제거하기 (0) | 2022.08.13 |
LV 1 - 정수 제곱근 판별 (0) | 2022.08.12 |