반응형
1. 문제 설명
- 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.
- 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
2. 제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
3. 입출력 예
arr1 | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
4. 문제 풀이 코드
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차원 배열 arr1과 arr2를 파라미터로 받아 answer 배열을 반환합니다.
- 먼저 arr1과 arr2는 행과 열의 길이가 같은 행렬입니다.
- 따라서 answer의 크기를 arr1의 행의 길이와 arr1[0]의 열의 길이로 선언했습니다.
- for문을 arr1의 행의 길이만큼 돌리고, 안에서 for문을 한번 더 돌립니다.
- 안쪽 for문은 각 행의 열의 길이만큼 돌리면서 arr1과 arr2의 값을 하나씩 더해서 answer에 넣습니다.
- 이때, answer에는 arr1과 arr2를 더한 자리와 같은 곳에 넣어야 합니다.
- for문을 마치고 나서 answer를 반환해주면 끝입니다.
- 위 문제는 2차원 배열을 정확하게 이해했다면 충분히 풀 수 있는 쉬운 문제였습니다.
- 위 문제를 풀기가 어려웠다면, 2차원 배열 개념 공부를 다시 해보시길 추천해드립니다.
이상으로 프로그래머스 Level 1. 행렬의 덧셈 문제를 JAVA 언어로 풀어보았습니다.
반응형
'Web Developer's Story > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] Level 1. 이상한 문자 만들기 (JAVA) (0) | 2020.09.16 |
---|---|
[프로그래머스] Level 1. 정수 내림차순으로 배치하기 (JAVA) (0) | 2020.09.15 |
[프로그래머스] Level 1. 직사각형 별찍기 (JAVA) (0) | 2020.09.06 |
[프로그래머스] Summer/Winter Coding(~2018) 예산 (JAVA) (2) | 2020.08.31 |
[프로그래머스] Level 1. 콜라츠 추측 (JAVA) (0) | 2020.08.28 |