행렬의 덧셈
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
💻 풀이
2차원 배열을 다루는 문제이기 때문에 2중 for문을 사용해준다.
먼저 return 할 2차원 배열을 만들어 주는데 이때 크기는 arr1과 arr2가 동일하기 때문에 [arr1.length][arr[0].length] 로 크기를 잡아준다.
✔ 만약 [1][3] 일 경우 아파트 1층에 101호 102호 103호가 있다는 의미이다.
이후 첫 번째 for문에서는 아파트 1층 2층 3층을 순회해주고,
두 번째 for문 에서는 각 호수를 돌면서 수를 더해주는 방식이다.
⌛ 시간 0.02ms ~ 8.51ms
public int[][] solution(int[][] arr1, int[][]arr2){
int[][] 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;
}
// 출력 테스트 코드
public static void main(String[] args) {
Ex05 ex05 = new Ex05();
int[][] arr1 = {{1,2},{2,3}};
int[][] arr2 = {{3,4},{5,6}};
int[][] arr1 = {{1,2,5},{2,3,5}};
int[][] arr2 = {{3,4,10},{5,6,10}};
int[][] arr1 = {{1},{2}};
int[][] arr2 = {{3},{4}};
System.out.println(Arrays.deepToString(ex05.solution(arr1, arr2)));
}