◇ 문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
◇ 제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
◇ 입출력 예시
| arr1 | arr2 | return |
| [[1, 2], [2, 3]] | [[3, 4], [5, 6]] | [[4, 6], [7, 9]] |
| [[1], [2]] | [[3], [4]] | [[4], [6]] |
◇ 초기 내용
※ [출처] 프로그래머스-코딩테스트 연습-문제명
※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요.
function solution(arr1, arr2) {
var answer = [[]];
return answer;
}
◇ 답안
function solution(arr1, arr2) {
var answer = new Array(arr1.length);
for(let i = 0; i<arr1.length; i++){
answer[i] = new Array(arr1[i].length);
for(let j = 0; j<arr1[0].length; j++){
answer[i][j] = (arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
◇ 답안 힌트
▶ 2중 for문을 사용하여 2차원 배열에 접근하세요
▶ 같은 행과 같은 열에 있는 값을 각각 더하세요
◇ 답안 풀이
function solution(arr1, arr2) {
//행의 길이를 가지는 1차원 배열 생성
var answer = new Array(arr1.length);
//행에접근
for(let i = 0; i<arr1.length; i++){
//행마다 열길이에 맞는 1차원 배열 각각 생성(2차원 배열생성)
answer[i] = new Array(arr1[i].length);
//행과 열에 접근
for(let j = 0; j<arr1[0].length; j++){
//같은 행과 열을 가지는 arr1과 arr2를 더해 answer의 같은 행/열에 저장
answer[i][j] = (arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
◇ 실행결과

◇ 출처
https://programmers.co.kr/learn/challenges
코딩테스트 연습
기초부터 차근차근, 직접 코드를 작성해 보세요.
programmers.co.kr
'코딩테스트 > Javascript' 카테고리의 다른 글
| [Level1] 콜라츠 추측 답안 및 풀이 (0) | 2021.07.27 |
|---|---|
| [Level1] 평균 구하기 답안 및 풀이 (0) | 2021.07.27 |
| [Level1] 핸드폰 번호 가리기 답안 및 풀이 (0) | 2021.07.26 |
| [Level1] x만큼 간격이 있는 n개의 숫자 답안 및 풀이 (0) | 2021.07.21 |
| [Level1] 직사각형 별찍기 답안 및 풀이 (0) | 2021.07.21 |
댓글