Coding Test/Java Coding Test
[프로그래머스 / 자바] - 행렬의 덧셈
by nam_ji
2024. 2. 18.
행렬의 덧셈
문제
- 2차원 배열 arr1과 arr2가 매개변수로 주어집니다.
- arr1과 arr2의 2차원 배열의 덧셈을 하는 문제입니다.
테스트 (인텔리제이)
- answer를 초기화 하여 문제를 풀어도 되고 answer 없이 풀이도 가능합니다.
- 일단 answer를 arr1의 크기와 arr2의 크기로 초기화 해줍니다.
- 2차원 배열이기 때문에 이중 for문을 사용해야 합니다.
- 첫번째 for문은 arr1의 크기까지 순회하도록
- 두번째 for문은 arr1의 첫번째 배열 크기까지 순회하도록 하여 2차원 배열에 맞게 순회하도록 합니다.
- for문 안에서 answer의 첫번째 크기에 i를 두번째 크기에 j를 넣어 자리별로 순회한 값이 들어가도록 하고
- arr1과 arr2도 마찬가지로 자리를 정해주고 그 자리의 값을 더해서 answer에 담아주도록 합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
/*
2차원 배열 arr1과 arr2가 매개변수로 주어집니다.
arr1과 arr2의 2차원 배열의 덧셈을 하는 문제입니다
arr1 arr2 return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]] [[3],[4]] [[4],[6]]
*/
int[][] arr1 = {{1,2},{2,3}};
int[][] arr2 = {{3,4},{5,6}};
int[][] answer = new int[arr1.length][arr2.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];
}
}
System.out.println(Arrays.deepToString(answer));
}
}
프로그래머스 코드
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] += arr2[i][j];
}
}
return arr1;
}
}