반응형
문제:
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.
2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
문제 풀어보기: https://school.programmers.co.kr/learn/courses/30/lessons/12950?language=javascript
풀이보기
더보기
function solution(arr1, arr2) {
let result = [];
for(let i = 0; i < arr1.length; i++) {
result[i] = [];
for(let j = 0; j < arr1[i].length; j++) {
result[i].push(arr1[i][j] + arr2[i][j]);
}
}
return result;
}
for문에서 result[i] = []를 통해 i 값에 맞게 빈배열을 먼저 넣어주고,
그 다음 for문에서 각 인덱스에 맞게 더해서 push 해주면 된다 !
처음에 작성한 코드도 가독성이 좋다고 생각하지만 다른 사람의 풀이를 보고 map을 사용해서 다시 풀어보았다.
function solution(arr1, arr2) {
return arr1.map((array, i) => array.map((value, j) => value + arr2[i][j]));
}
map은 새로운 배열을 반환해주기 때문에 따로 선언해줄 필요가 없었고 더 간결하고 효율적인 코드가 완성되었다.
반응형
'코딩 테스트' 카테고리의 다른 글
[프로그래머스 Level 1] 문자열 내림차순으로 배치하기 (0) | 2025.04.02 |
---|---|
[프로그래머스 Level 1] 내적 (0) | 2025.04.02 |
[프로그래머스 Level 1] 가운데 글자 가져오기 (0) | 2025.04.01 |
[프로그래머스 Level 0] 왼쪽 오른쪽 (0) | 2025.04.01 |
[프로그래머스 Level 2] N개의 최소공배수 (0) | 2025.03.31 |