◇ 문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] |
◇ 초기 내용
※ [출처] 프로그래머스-코딩테스트 연습-문제명
※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = {};
return answer;
}
}
◇ 답안
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = {};
answer = new int[arr1.length][arr1[0].length];
for(int i = 0; i<arr1.length; i++){
for(int j = 0; j<arr1[i].length; j++){
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
◇ 답안 풀이
(※ 실행 흐름 순으로 해석됩니다.)
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
//행렬의 크기에 맞는 2차원 배열 생성
int[][] answer = new int[arr1.length][arr1[0].length];
//2중 for문으로 2차원 배열에 접근
for(int i = 0; i<arr1.length; i++){
for(int j = 0; j<arr1[i].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
'코딩테스트 > Java' 카테고리의 다른 글
| [Level1] 소수찾기 답안 및 풀이* (0) | 2021.07.15 |
|---|---|
| [Level1] 시저암호 답안 및 풀이 (0) | 2021.07.15 |
| [Level1] 문자열 내 마음대로 정렬하기 답안 및 풀이 (0) | 2021.07.14 |
| [Level1] 자연수 뒤집어 배열로 만들기 답안 및 풀이 (0) | 2021.07.13 |
| [Level1] x만큼 간격이 있는 n개의 숫자 답안 및 풀이 (0) | 2021.07.13 |
댓글