저장을 습관화
프로그래머스 LV.1 행렬의 덧셈 본문
프로그래머스 LV.1 행렬의 덧셈
https://school.programmers.co.kr/learn/courses/30/lessons/12950
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
행렬의 덧셈
2. 문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
3. 제한 사항
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
4. 예시
arr1 | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
5. 기본 제공 코드
function solution(arr1, arr2) {
var answer = [[]];
return answer;
}
6. 제출한 내 답
const solution = (arr1, arr2) => {
return arr1.map((v, i) => {
return v.map((y, j) => {
return (y += arr2[i][j]);
});
});
};
6-2. VSC에 작성한 내용
const solution = (arr1, arr2) => {
return arr1.map((v, i) => {
return v.map((y, j) => {
return (y += arr2[i][j]);
});
});
};
// 테스트
console.log(
solution(
[
[1, 2],
[2, 3],
],
[
[3, 4],
[5, 6],
]
)
);
console.log(solution([[1], [2]], [[3], [4]]));
7. 특이사항
없음
8. 다른 사람이 작성한 답
8-1. 좋아요를 가장 많이 받은 풀이법
// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function sumMatrix(A,B){
return A.map((arr1, idx1) => arr1.map((val, idx2) => val+B[idx1][idx2]));
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]]))
8-2. 가장 많이 쓰인 풀이법
function solution(arr1, arr2) {
var answer = [[]];
for (var i=0; i<arr1.length; i++){
answer[i] =[];
for(var j=0; j<arr1[i].length; j++){
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 배열 만들기 6 (0) | 2023.10.01 |
---|---|
프로그래머스 LV.0 왼쪽 오른쪽 (0) | 2023.09.30 |
프로그래머스 LV.0 구슬을 나누는 경우의 수 (0) | 2023.09.30 |
프로그래머스 LV.0 배열 만들기 4 (0) | 2023.09.30 |
프로그래머스 LV.0 두 수의 합 (0) | 2023.09.30 |