728x90
🔗 문제 링크
📌 문제 개요
크기가 같은 두 개의 2차원 배열이 주어진다.
같은 위치의 값을 서로 더한 결과를 새로운 2차원 배열로 반환하는 문제이다.
arr1 = [[1,2],[2,3]]
arr2 = [[3,4],[5,6]]
결과:
[[4,6],[7,9]]
📌 접근 방법
2차원 배열은 다음 구조를 가진다.
[행][열]
따라서 이중 반복문을 사용해서 모든 요소를 순회했다.
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
}
}
그리고 같은 위치의 값을 더해서 결과 배열에 저장했다.
📌 핵심 아이디어
1. 결과 배열 크기 생성
결과 배열은 기존 배열과 동일한 크기를 가져야 한다.
int[][] answer = new int[arr1.length][arr1[0].length];
- arr1.length → 행 개수
- arr1[0].length → 열 개수
2. 같은 위치 값끼리 계산
answer[i][j] = arr1[i][j] + arr2[i][j];
행렬 덧셈은 같은 위치의 값끼리 연산한다.
3. 2차원 배열 출력
디버깅할 때는 Arrays.deepToString()을 사용하면 편하다.
Arrays.deepToString(answer)
📌 전체 코드
class Solution {
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;
}
}
📄 정리
이 문제는 2차원 배열의 기본 구조를 이해하고 있는지 확인하는 구현 문제였다.
- 결과 배열 크기 생성
- 이중 반복문 사용
- 같은 위치 값 계산
2차원 배열 문제는 이후 BFS, 그래프, 시뮬레이션 문제에서도 자주 사용되므로 꼭 익숙해지는 것이 중요
728x90
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
| 프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도) (0) | 2026.05.17 |
|---|---|
| 프로그래머스 같은 숫자는 싫어 JAVA 풀이 (스택, 구현, 시간복잡도) (0) | 2026.05.16 |
| 프로그래머스 문자열 다루기 기본 JAVA 풀이 (문자열, 구현) (0) | 2026.05.14 |
| 프로그래머스 문자열 내림차순으로 배치하기 JAVA 풀이 (문자열) (0) | 2026.05.13 |
| 프로그래머스 가운데 글자 가져오기 JAVA 풀이 (문자열, substring) (0) | 2026.05.12 |