반응형
👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇
2차원 배열이란 ?
행과 열로 구성된 배열
선언 방법
- 자료형[][] 변수명 = new 자료형 [행크기][열크기];
- 자료형 [][] 변수명 = { {} , {} } ;
해당 사진의 배열을 선언 시 행 : 5 열 : 6
>> int [][] a = new int [5][6];
>> int [][] a = { {6,5,4,3,2,1} ,
{12,11,10,9,8,7},
{18,17,16,15,14,13},
{24,23,22,21,20,19},
{30,29,28,27,26,25} };
으로 선언할 수 있다.
숫자 6의 위치
>> 행 0 , 열 0
>> a [0][0]로 표현한다
숫자 22의 위치
>> 행 3 , 열 2
>> a [3][2]로 표현한다
오늘의 문제
풀이
문제1
int[][] arr = new int[5][6];
for (int i = 0 , v = 6; i <5; i++) {
for (int j = 0; j < 6; j++) {
arr[i][j] = v;
v--;
}
v+=12;
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println(" ");
}
문제2
int[][] arr = new int[5][6];
for (int i = 0 , v = 30; i <5; i++) {
for (int j = 0; j < 6; j++) {
arr[i][j] = v;
v--;
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println(" ");
문제3
char[][] arr = new char[5][6];
char r = '*';
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
if (i < j) arr[i][j] = '0';
else arr[i][j] = r;
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println(" ");
}
System.out.println("-----------------------------------");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
if (arr[i][j] == '*') {
System.out.print(arr[i][j] + "\t");
} else {
arr[i][j] = ' ';
System.out.print(arr[i][j] + "\t");
}
}
System.out.println(" ");
문제4
int[][] arr = new int[5][6];
int v = 1 , vv = 21;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
if ( i == 0 && j == 0 ) arr[0][0] = v;
if ( i == 0 && j > 0 ) {
v+=j;
arr[i][j] = v;
}
if ( i > 0 ) {
if ( j+1 == 6 ) break;
else arr[i][j] = arr[i-1][j+1] + 1;
}
}
}
for (int i = 1; i < 5 ; i++) {
int x = i;
int y = 5;
for (int j = 0; j <= 5-i ; j++) {
if ( x+1 > 5 || y-1 < 0) break;
else {
arr[x][y] = vv;
x++;
y--;
vv++;
}
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
문제5
int[][] arr = new int[5][6];
int v = 1;
for (int i = 0; i < 5; i++) {
int cnt = 1;
switch (i) {
case 0:
for (int j = 0; j < 10; j++) {
if (v >= 7) {
arr[cnt][5] = v;
cnt++;
v++;
} else {
arr[i][j] = v;
v++;
}
}
break;
case 1:
v = 18;
cnt = 0;
for (int j = 0; j < 7; j++) {
if (v >= 22) {
arr[cnt + i][4] = v;
cnt++;
v++;
} else {
arr[i][j] = v;
v++;
}
}
break;
case 2:
v = 28;
for (int j = 1; j < 4; j++) {
arr[i][j] = v;
v++;
}
break;
case 3:
v = 27;
for (int j = 1; j < 4; j++) {
arr[i][j] = v;
v--;
}
break;
case 4:
cnt = 4;
v = 11;
for (int j = 0; j < 7; j++) {
if (cnt <= -1) {
arr[i - (cnt * -1)][0] = v;
v++;
cnt--;
} else {
arr[i][cnt] = v;
v++;
cnt--;
}
}
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
문제 6번은 아직 풀지 못하였다.. 아직 공부 중 ㅠ 더 노력해야겠다.
( 5번은 솔직히 저것보다 더 쉽게 짤 수 있는 방법이 있었다. 이 부분도 다시 생각해 보고 수정할 예정이다 )
반응형
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ Jᴀᴠᴀ' 카테고리의 다른 글
2023/10/18👋 클래스/메소드/생성자/변수 (1) | 2023.10.18 |
---|---|
2023/10/17✅ 2차원배열 문제 (0) | 2023.10.18 |
2023/10/13⭐️ 미니프로젝트 완성 (0) | 2023.10.18 |
2023/10/12⭐️ JAVA Mini Project (0) | 2023.10.18 |
2023/10/11🤦♀️ Java 조별 미션 (1) | 2023.10.18 |