분석 완료
2차원 배열의 특징!
1. 해결 포인트 : int[][] arr = new int[배열 안의 배열 개수][배열안의 배열안의 원소의 갯수]; 이다.
아래는 내가 작성한 코드인데 2차원 배열만 가능하다 1차원은 실행X
public class Q10 {
public int[][] solutionQ10(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr2.length];
ArrayList<Integer> arrayList_arr1 = new ArrayList<>();
ArrayList<Integer> arrayList_arr2 = new ArrayList<>();
ArrayList<Integer> arrayList_arr3 = new ArrayList<>();
int[] arr_1 = new int[arr1.length + arr2.length];
int some = 0;
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2.length; j++) {
some = arr1[i][j];
arrayList_arr1.add(some);
System.out.println(some);
}
}
System.out.println(arrayList_arr1);
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2.length; j++) {
some = arr2[i][j];
arrayList_arr2.add(some);
}
}
System.out.println(arrayList_arr2);
for (int i = 0; i < arrayList_arr1.size(); i++) {
int tempInt = arrayList_arr1.get(i);
int tempInt1 = arrayList_arr2.get(i);
int suum = tempInt + tempInt1;
System.out.println(tempInt + tempInt1);
arrayList_arr3.add(tempInt + tempInt1);
arr_1[i] = suum;
}
int count = 0;
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2.length; j++) {
answer[i][j] = arr_1[count];
count++;
}
}
System.out.println(Arrays.deepToString(answer));
return answer;
}
}
/////답안
/////원리는 가장 첫번째 문제 <-링크 와 굉장히 비슷. 단지 * 대신에 행렬의 형태를 넣은것 뿐이다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
// {{1,2},{2,3}}; == arr1
// {{3,4},{5,6}}; == arr2
// int[][] arr = new int[배열 안의 배열 개수][배열안의 배열안의 원소의 갯수];
int[][] arr = new int[arr1.length][arr1[0].length];
for(int i=0; i<arr1.length; i++) {
for(int j=0; j<arr1[0].length; j++) {
arr[i][j] = arr1[i][j] + arr2[i][j];
}
}
return arr;
}
}