본문 바로가기

프로그래머스/JAVA

프로그래머스) 행렬의 덧셈 (JAVA)

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]

 

해결 과정

행,열의 길이가 500뿐이 되지 않기 때문에 2중 for문을 사용하였다.

 

정답 코드

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
		int[][] answer = arr1;
		
		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;
    }
}

 

이클립스용 실행 코드

package Level1;

import java.util.Arrays;

public class Sum_Array {
   public static void main(String[] args) {
      int[][] arr1 = {{1,2},{2,3}};
      int[][] arr2 = {{3,4},{4,5}};
      
      int[][] ans = solution(arr1, arr2);
      for(int i=0; i<ans[0].length; i++)
         System.out.println(Arrays.toString(ans[i]));
   }

   private static int[][] solution(int[][] arr1, int[][] arr2) {
      int[][] answer = arr1;
      
      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;
   }
}