[프로그래머스] Java 코딩테스트 Lv.1 - 행렬의 덧셈

yihyun·2025년 4월 24일

코딩테스트

목록 보기
71/105
post-thumbnail

행렬의 덧셈

✅ 문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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)));
	}
	
profile
개발자가 되어보자

0개의 댓글