JavaRush /Java Blog /Random-KO /๋‹ค์ฐจ์› ๋ฐฐ์—ด

๋‹ค์ฐจ์› ๋ฐฐ์—ด

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๋‹ค์ฐจ์› ๋ฐฐ์—ด - 1

1์ฐจ์› Java ๋ฐฐ์—ด์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฐฐ์—ด์€ ๋™์ผํ•œ ์œ ํ˜•, ๊ธฐ๋ณธ ์š”์†Œ ๋˜๋Š” ์ฐธ์กฐ ์š”์†Œ์˜ ์ˆœ์„œ๊ฐ€ ์ง€์ •๋œ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด(์ฃผ๋กœ 1์ฐจ์›)์— ๋Œ€ํ•œ ์ผ๋ฐ˜ ์ •๋ณด๋Š” " Arrays in Java " ๊ธฐ์‚ฌ์™€ JavaRush ๊ณผ์ •์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์š”์†Œ๊ฐ€ ๋‹ค๋ฅธ ๋ฐฐ์—ด์ธ ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฐ์—ด์„ ๋‹ค์ฐจ์›์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฐ์—ด์„ ์š”์†Œ๋กœ ํ•˜๋Š” ๋ฐฐ์—ด, ์ฆ‰ ๋ฐฐ์—ด์˜ ๋ฐฐ์—ด์„ 2์ฐจ์›์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์–ธ์–ด๊ฐ€ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ตฌ์„ฑํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, Java์—์„œ๋Š” ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

Java ๋‹ค์ฐจ์› ๋ฐฐ์—ด, ์ผ๋ฐ˜ ๊ตฌ๋ฌธ

์ผ๋ฐ˜์ ์œผ๋กœ Java์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Data_type[dimension1][dimension2][]..[dimensionN] array_name = new data_type[size1][size2]โ€ฆ.[sizeN];
Data_type๋ฐฐ์—ด์˜ ์š”์†Œ ์œ ํ˜•์€ ์–ด๋””์— ์žˆ์Šต๋‹ˆ๊นŒ? ๊ธฐ๋ณธ ๋˜๋Š” ์ฐธ์กฐ(ํด๋ž˜์Šค)์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ˆ์ชฝ์— ์žˆ๋Š” ๊ด„ํ˜ธ ์Œ์˜ ๊ฐœ์ˆ˜๋Š” dimension๋ฐฐ์—ด์˜ ์ฐจ์›์ž…๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ - N). array_nameโ€” ๋ฐฐ์—ด ์ด๋ฆ„ size1...sizNโ€” ๋ฐฐ์—ด์˜ ๊ฐ ์ฐจ์›์— ์žˆ๋Š” ์š”์†Œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด ์„ ์–ธ:
int[][] twoDimArray; //two-dimensional array
String[][][] threeDimArray; //three-dimensional array
double[][][][][] fiveDimArray; // five-dimensional array
์•„๋งˆ๋„ ์ด ๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ์ถ”์ƒ์ ์œผ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด์ œ ๋‹ค์ฐจ์› ๋ฐฐ์—ด(2์ฐจ์› ๋ฐ 3์ฐจ์›)์˜ ๊ตฌ์ฒด์ ์ธ ํ‘œํ˜„์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค Java ๊ฐœ๋ฐœ์ž๋Š” ๋•Œ๋•Œ๋กœ 2์ฐจ์› ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ํ›จ์”ฌ ๋œ ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 3์ฐจ์› ๋ฐฐ์—ด๊ณผ ๋” ํฐ ๋ฐฐ์—ด์€ ๊ทนํžˆ ๋“œ๋ญ…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋‹น์‹ ์€ ๊ทธ๋“ค์„ ๋งŒ๋‚˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

JavaRush ๊ณผ์ •์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด

JavaRush์—์„œ "์ผ๋ฐ˜" ๋ฐฐ์—ด์€ Java ๊ตฌ๋ฌธ ํ€˜์ŠคํŠธ ์˜ ๋ ˆ๋ฒจ 7 ์—์„œ ์‹œ์ž‘๋˜๋ฉฐ ๋‚˜์ค‘์— ์ด ๊ณผ์ •์—์„œ ๋‘ ๋ฒˆ ์ด์ƒ ๋งŒ๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ๊ณผ์ • ์ „๋ฐ˜์— ๊ฑธ์ณ 2์ฐจ์› ๋ฐฐ์—ด๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ(๋˜๋Š” ๋„์›€์„ ๋ฐ›์•„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ)์— ์ง๋ฉดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 2์ฐจ์› ๋ฐฐ์—ด์€ " JavaRush์˜ ๊ฒŒ์ž„ " ํŠน๋ณ„ ์„น์…˜์˜ ๊ฒŒ์ž„ ์—”์ง„์—์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„์ง ๊ฐ€๋ณด์ง€ ์•Š์•˜๋‹ค๋ฉด ํ•œ๋‘ ๊ฐ€์ง€ ๊ฒŒ์ž„์„ ์‚ดํŽด๋ณด๊ณ  ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ์ด์šฉ ์•ฝ๊ด€์—๋Š” ์ž์„ธํ•œ ์ง€์นจ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํƒ์›”ํ•œ ๊ต์œก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 3์ฐจ์› ๋ฐฐ์—ด์€ Space Invaders ๊ฒŒ์ž„์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด๋ฅผ ํ†ตํ•ด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„ ์„ธํŠธ๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค(์ด๋Ÿฌํ•œ ๊ฐ ํ”„๋ ˆ์ž„์€ 2์ฐจ์› ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค). JavaSyntax ํ€˜์ŠคํŠธ๋ฅผ ์ด๋ฏธ ์™„๋ฃŒํ–ˆ๊ฑฐ๋‚˜ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ž์‹ ๊ฐ์ด ์žˆ๋‹ค๋ฉด ์ด ๊ณ ์ „ ๊ฒŒ์ž„์˜ ์ž์‹ ๋งŒ์˜ ๋ฒ„์ „์„ ์ž‘์„ฑํ•ด ๋ณด์„ธ์š”.

2์ฐจ์› Java ๋ฐฐ์—ด์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Java์˜ 2์ฐจ์› ๋ฐฐ์—ด์€ ๋ฐฐ์—ด์˜ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ ์…€์—๋Š” ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฃผ์–ด์ง„ ํ–‰ ์ˆ˜(1์ฐจ์›)์™€ ์—ด ์ˆ˜(2์ฐจ์›)๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ” ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ–‰์˜ ์š”์†Œ ์ˆ˜๊ฐ€ ๋™์ผํ•œ 2์ฐจ์› ๋ฐฐ์—ด์„ ์ง์‚ฌ๊ฐํ˜•์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด ์„ ์–ธ, ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”

2์ฐจ์› ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ์ƒ์„ฑํ•˜๋Š” ์ ˆ์ฐจ๋Š” 1์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ์™€ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
int[][] twoDimArray = new int[3][4];
์ด ๋ฐฐ์—ด์—๋Š” 3๊ฐœ์˜ ํ–‰๊ณผ 4๊ฐœ์˜ ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์‚ฌ๊ฐํ˜• 2์ฐจ์› ๋ฐฐ์—ด์˜ ํฌ๊ธฐ(์ง์‚ฌ๊ฐํ˜•์ด ์•„๋‹ ์ˆ˜ ์žˆ์Œ, ์•„๋ž˜์—์„œ ์ž์„ธํžˆ ์„ค๋ช…), ์ฆ‰ ์ด ์š”์†Œ ์ˆ˜๋Š” ํ–‰ ์ˆ˜์— ์—ด ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”(์ฑ„์›Œ์ง)๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, 0์ž…๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฐ’์œผ๋กœ ์ฑ„์›Œ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
twoDimArray[0][0] = 5;//write the value 5 into the cell at the intersection of the zero row and zero column
twoDimArray[0][1] = 7; //write the value 7 into the cell at the intersection of the zero row and the first column
twoDimArray[0][2]  = 3;
twoDimArray[0][3] = 17;
twoDimArray[1][0] = 7;
twoDimArray[1][1] = 0;
twoDimArray[1][2] = 1;
twoDimArray[1][3] = 12;
twoDimArray[2][0] = 8;
twoDimArray[2][1] = 1;
twoDimArray[2][2] = 2;
twoDimArray[2][3] = 3;
1์ฐจ์› ๋ฐฐ์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ดˆ๊ธฐํ™” ์ ˆ์ฐจ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
int [][] twoDimArray = {{5,7,3,17}, {7,0,1,12}, {8,1,2,3}};
๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์ •์ˆ˜๋กœ ์ฑ„์›Œ์ง„ ํ–‰ 3๊ฐœ์™€ ์—ด 4๊ฐœ๋กœ ๊ตฌ์„ฑ๋œ 2์ฐจ์› ๋ฐฐ์—ด์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด - 2

2์ฐจ์› ๋ฐฐ์—ด์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๊ธฐ

์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ€์žฅ ๋…ผ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ•์€ ๋จผ์ € ์ œ๋กœ ๋ผ์ธ ์š”์†Œ๋ฅผ ์š”์†Œ๋ณ„๋กœ ์ถœ๋ ฅํ•œ ๋‹ค์Œ ๋‘ ๋ฒˆ์งธ ๋“ฑ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Java์—์„œ 2์ฐจ์› ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐœ์˜ ์ค‘์ฒฉ ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
int [][] twoDimArray = {{5,7,3,17}, {7,0,1,12}, {8,1,2,3}};//declared an array and filled it with elements
for (int i = 0; i < 3; i++) {  //go through the lines
            for (int j = 0; j < 4; j++) {//go through the columns
                System.out.print(" " + twoDimArray[i][j] + " "); //output element
            }
            System.out.println();// line wrap for the visual preservation of the tabular form
        }

2์ฐจ์› ๋ฐฐ์—ด์˜ ๋น ๋ฅธ ์ถœ๋ ฅ

2์ฐจ์› ๋ฐฐ์—ด์˜ ์š”์†Œ ๋ชฉ๋ก์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๊ฐ€์žฅ ์งง์€ ๋ฐฉ๋ฒ•์€ deepToStringํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค Arrays. ์˜ˆ:
int[][] myArray = {{18,28,18},{28,45,90},{45,3,14}};
System.out.printLn(Arrays.deepToString(myArray));
ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: [[18, 28, 18], [28, 45, 90], [45, 3, 14]]

2์ฐจ์› ๋ฐฐ์—ด์˜ "๊ธธ์ด"

1์ฐจ์› ๋ฐฐ์—ด์˜ ๊ธธ์ด(์ฆ‰, ๋ฐฐ์—ด์˜ ์š”์†Œ ์ˆ˜)๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค length. ์ฆ‰, ๋ฐฐ์—ด์„ ์ •์˜ํ•˜๋ฉด int a[] = {1,2,3}์—ฐ์‚ฐ์€ a.length3์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 2์ฐจ์› ๋ฐฐ์—ด์— ๋™์ผํ•œ ์ ˆ์ฐจ๋ฅผ ์ ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?
int [][] twoDimArray = {{5,7,3,17}, {7,0,1,12}, {8,1,2,3}};
System.out.println(twoDimArray.length);
์ถœ๋ ฅ: 3 ๋”ฐ๋ผ์„œ ์ด ์ž‘์—…์€ ๋ฐฐ์—ด์˜ ํ–‰ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์—ด ์ˆ˜๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ง์‚ฌ๊ฐํ˜• 2์ฐจ์› ๋ฐฐ์—ด(์ฆ‰, ๋ชจ๋“  ์„ ์˜ ๊ธธ์ด๊ฐ€ ๋™์ผํ•œ ๋ฐฐ์—ด)์„ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ twoDimArray[0].length0 ์š”์†Œ(๋ณธ์งˆ์ ์œผ๋กœ 0 ์„ ) ๋Œ€์‹ ์— ๊ธฐ์กด์˜ ๋‹ค๋ฅธ ์š”์†Œ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ 2์ฐจ์› ๋ฐฐ์—ด์€ ๋ฐฐ์—ด์˜ ๋ฐฐ์—ด์ด๊ณ  ์š”์†Œ 0์€ twoDimArray[0]๊ธธ์ด๊ฐ€ 4์ธ ๋ฐฐ์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด ์‚ฌ์šฉ ์˜ˆ: ์ฒด์ปค๋ณด๋“œ

2์ฐจ์› ๋ฐฐ์—ด์€ ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒŒ์ž„, ํŠนํžˆ ์ฒด์Šค์—์„œ ์œ ํ•œํ•œ 2์ฐจ์› ํ•„๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒด์ŠคํŒ์„ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์ƒ๊ฐํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๊ทธ๋ž˜ํ”ฝ์„ "๋ถ€์ฐฉ"ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ง€๊ธˆ์€ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒด์ŠคํŒ์„ ์ •์˜ํ•˜๊ณ  ์ด๋ฅผ ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด - 3์ฒด์ŠคํŒ์˜ ์™ผ์ชฝ ํ•˜๋‹จ ์‚ฌ๊ฐํ˜•์€ ๊ฒ€์€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ , ๋‹ค์Œ ์ •์‚ฌ๊ฐํ˜•์€ ํฐ์ƒ‰์ด๋ฉฐ ๊ทธ ์œ„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜†์— ์ธ์ ‘ํ•œ ์…€๋กœ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ์ƒ‰์ƒ์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์ฒด์Šค ์ƒ‰์ƒ์„ ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•˜๋ ค๋ฉด ํŒจ๋ฆฌํ‹ฐ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–‰๊ณผ ์—ด ์ธ๋ฑ์Šค์˜ ํ•ฉ์ด ์ง์ˆ˜ ๋˜๋Š” 0์ด๋ฉด ์…€์ด ํฐ์ƒ‰์ด ๋˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฒ€์ •์ƒ‰์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ํ™•์ธ์„ ์œ„ํ•ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž %๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. W๊ทธ๋ž˜ํ”ฝ์ด ์•„๋‹Œ ๊ธฐํ˜ธ๋กœ ์ž‘์—…ํ•˜๋ฏ€๋กœ ํฐ์ƒ‰ ์…€์€ ๋ฌธ์ž (ํฐ์ƒ‰)๋กœ, ๊ฒ€์€์ƒ‰ ์…€์€ ๋ฌธ์ž(๊ฒ€์€์ƒ‰)๋กœ ํ‘œ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค B.
//set the chessboard as a two-dimensional array
String [][] chessBoard = new String[8][8];
        for (int i = 0; i< chessBoard.length; i++) {
            for (int j = 0; j < chessBoard[0].length; j++) {
                if ((i + j) % 2 == 0) chessBoard[i][j] = "W";
                else chessBoard[i][j] = "B";
            }
        }
ํ”„๋กœ๊ทธ๋žจ์˜ ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. WBWBWBWBBWBWBWBWWBWBW BWBBWBWBWBWWBWBWBWBBW BWBWBWWBWBWBWBBWBWBWBWB W ๋ชจ๋“  ๊ฒƒ์ด ์‹ค์ œ ์ฒด์ŠคํŒ๊ณผ ๊ฐ™์œผ๋ฏ€๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด - 4์ด์ œ ๋ฐฐ์—ด ์–ธ์–ด๊ฐ€ ์•„๋‹Œ "์ฒด์Šค" ์–ธ์–ด๋กœ ์…€ ๋ฒˆํ˜ธ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋งค๊ธฐ๋Š” ๋ฐฉ๋ฒ•์„ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณด๋“œ์˜ ์™ผ์ชฝ ํ•˜๋‹จ ์…€์€ A1์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฐ˜๋ฉด, ์šฐ๋ฆฌ ๋ฐฐ์—ด์—์„œ๋Š” ์ž…๋‹ˆ๋‹ค chessBoard[7][0]. 2์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐ ์ธ๋ฑ์Šค ์Œ์„ ํ•ด๋‹น "์ฒด์Šค"์™€ ์—ฐ๊ด€์‹œ์ผœ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด " abcdefgh" ๋ฐ " 87654321"๋ผ๋Š” ๋‘ ์ค„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(๋‹จ์ˆœํ™”๋ฅผ ์œ„ํ•ด ์—ญ์ˆœ์œผ๋กœ ์ฒด์ปค๋ณด๋“œ 8์ด 0 ์—ด์— ํ•ด๋‹นํ•จ).
public static String chessBoardCoord(int a, int b) {
            String letters = "abcdefgh";
            String numbers = "87654321";
            if ((a > 7)|| (b>7)) return null; //if the number is outside the board, return the default value - null
            else return (Character.toString(letters.charAt(a)) + numbers.charAt(b)); /*charAt - a method with which we extract from the string the element under the passed number, here - under the numbers a and b. Character.toString - a method that converts the received character into a string */
        }
์ด์ œ ๋‹ค์Œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์…€์— ์ƒ‰์ƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฒˆํ˜ธ๋„ ํ‘œ์‹œํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.chessBoardCoord
String [][] chessBoard = new String[8][8];
        for (int i = 0; i < chessBoard.length; i++) {
            for (int j = 0; j < chessBoard[0].length; j++) {
                if ((i + j) % 2 == 0) chessBoard[i][j] = "W" + chessBoardCoord(j,i);
                else chessBoard[i][j] = "B"+ chessBoardCoord(j,i);
            }
        }

            for (int i = 0; i < chessBoard.length; i++) {
                for (int j = 0; j < chessBoard[0].length; j++) {
                    System.out.print(" " + chessBoard[i][j] + " ");
                }
                System.out.println();
            }
ํ”„๋กœ๊ทธ๋žจ ์ถœ๋ ฅ: Wa8 Bb8 Wc8 Bd8 We8 Bf8 Wg8 Bh8 Ba7 Wb7 Bc7 Wd7 Be7 Wf7 Bg7 Wh7 Wa6 Bb6 Wc6 Bd6 We6 Bf6 Wg6 Bh6 Ba5 Wb5 Bc5 Wd5 Be5 Wf5 Bg5 Wh5 Wa4 Bb4 Wc4 Bd4 We4 Bf4 Wg4 Bh4 Ba3 Wb3 Bc3 Wd 3 Be3 Wf3 Bg3 Wh3 Wa2 Bb2 Wc2 Bd2 We2 Bf2 Wg2 Bh2 Ba1 Wb1 Bc1 Wd1 Be1 Wf1 Bg1 Wh1 ์—ฌ๊ธฐ์„œ๋Š” We2e2๋กœ ํ‘œ์‹œ๋œ ํฐ์ƒ‰ ์‚ฌ๊ฐํ˜•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด ์‚ฌ์šฉ ์˜ˆ: ํ–‰๋ ฌ ๊ณฑ์…ˆ

์ฃผ๋ชฉ!์ด ์˜ˆ์ œ์—๋Š” ํ–‰๋ ฌ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๊ทธ๋“ค์— ๋Œ€ํ•ด ๊ฑฐ์˜ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ฉฐ, ์ด ์ •๋ณด๋Š” ํ–‰๋ ฌ ์—ฐ์‚ฐ์„ ๊ณต๋ถ€ํ–ˆ์ง€๋งŒ ๋‹ค์†Œ ์žŠ์–ด๋ฒ„๋ฆฐ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ง€์‹์€ ์˜คํ”ˆ ์†Œ์Šค, ํŠนํžˆ Wikipedia์˜ ๊ธฐ์‚ฌ ์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด๋Š” 2์ฐจ์› ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ข‹์€ ์˜ˆ์ด์ง€๋งŒ, ๋ฐฐ์—ด ์—†์ด๋„ ๊ณ„์† ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ง€๊ธˆ ์ˆ˜ํ•™์  ๊ด€์ ์—์„œ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๊ณ  ์‹ค์ œ๋กœ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด ์˜ˆ์ œ๋ฅผ ๊ฑด๋„ˆ๋›ฐ์…”๋„ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ ํ˜• ๋Œ€์ˆ˜ํ•™์„ ๊ณต๋ถ€ํ–ˆ๋‹ค๋ฉด ์ง์‚ฌ๊ฐํ˜• ๋ฐฐ์—ด๊ณผ ์ง์‚ฌ๊ฐํ˜• ํ–‰๋ ฌ์— ๋Œ€ํ•ด ๋ฐฐ์› ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด - 5์—ฌ๊ธฐ์„œ a11, a12... aNN์€ ์ˆซ์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ํ–‰๋ ฌ์€ ์ง์‚ฌ๊ฐํ˜•์ด ์•„๋‹ˆ๋ผ ์ •์‚ฌ๊ฐํ˜•์ž…๋‹ˆ๋‹ค(ํ–‰ ์ˆ˜๋Š” ์—ด ์ˆ˜์™€ ๊ฐ™์ง€๋งŒ ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค). ์‹ค์ œ ์ƒํ™œ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ํ–‰๋ ฌ์ด ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ๋Š” ๋งค์šฐ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ๊ณผ ๊ฒŒ์ž„ ์—”์ง„์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํšŒ์ „ ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด์˜ ๊ฐœ์ฒด๋ฅผ ์–ด๋–ค ๊ฐ๋„๋กœ๋“  ํšŒ์ „ํ•˜๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2์ฐจ์› ๊ณต๊ฐ„์—์„œ ํšŒ์ „ ํ–‰๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด - 6์—ฌ๊ธฐ์„œ ์„ธํƒ€๋Š” ๊ฐ์ฒด๋ฅผ ํšŒ์ „ํ•ด์•ผ ํ•˜๋Š” ๊ฐ๋„์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ฐจ์›์˜ ํ–‰๋ ฌ์€ ์„œ๋กœ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ถ”๊ฐ€๋Š” ์š”์†Œ๋ณ„๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(๋™์ผํ•œ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง„ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๋‚˜ ํ–‰๋ ฌ ๊ณฑ์…ˆ์˜ ์—ฐ์‚ฐ์€ ๋œ ์ต์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฒซ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ ์—ด ์ˆ˜๊ฐ€ ๋‘ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ ํ–‰ ์ˆ˜์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ–‰๋ ฌ์„ ๊ณฑํ•˜์—ฌ ๊ฒฐ๊ณผ ํ–‰๋ ฌ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ํ–‰๋ ฌ์€ ์ฒซ ๋ฒˆ์งธ ํ–‰๋ ฌ๊ณผ ๋™์ผํ•œ ์ˆ˜์˜ ํ–‰๊ณผ ๋‘ ๋ฒˆ์งธ ํ–‰๋ ฌ๊ณผ ๋™์ผํ•œ ์ˆ˜์˜ ์—ด์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๊ณฑ์…ˆ์€ โ€‹โ€‹๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. a[l][m]ํ–‰๋ ฌ ๊ณผ ์„ ๊ฐ€์ง€์ž b[m][n]. ๊ณฑ์…ˆ์˜ ๊ฒฐ๊ณผ๋กœ ์šฐ๋ฆฌ๋Š” ํ–‰๋ ฌ์„ ์–ป์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค c[l][n]. c[0][0]๊ณฑ ํ–‰๋ ฌ ์˜ ์š”์†Œ๋ฅผ ์–ป์œผ๋ ค๋ฉด a[0][0]์ฒซ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ 0 ํ–‰์— ์žˆ๋Š” 0 ์š”์†Œ์— ๋‘ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ 0 ์š”์†Œ๋ฅผ ๊ณฑํ•œ ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์— ์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์— ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๊ณฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ ์ฒซ ๋ฒˆ์งธ ์—ด ๋“ฑ์„ ๊ฑฐ์ณ ๋ชจ๋“  ๊ฒฐ๊ณผ ์ œํ’ˆ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

a[0][0]*b[0][0] + a[0][1]*b[1][0] + โ€ฆ + a[0][m-1]*b[m-1][0]
๊ฒฐ๊ณผ ํ–‰๋ ฌ์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์˜ ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋‘ ๋ฒˆ์งธ ํ–‰์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

a[1][0]*b[0][0] + a[1][1]*b[0][1] + โ€ฆ + a[0][m-1]*b[m-1][0]
๊ทธ๋ฆฌ๊ณ  ์ค„์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์Œ ์ค„๋กœ ์ด๋™ํ•˜์—ฌ ์ค„์ด ๋‹ค ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€ ์ ˆ์ฐจ๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ฒซ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ ํ–‰๊ณผ ๋‘ ๋ฒˆ์งธ ํ–‰๋ ฌ์˜ ์—ด์„ ๊ณฑํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ํ–‰๋ ฌ ๊ณฑ์…ˆ์— ๋Œ€ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ํ–‰ ๋ฐ ์—ด ์ˆ˜ ์กฐ๊ฑด์„ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ์ด๋ฅผ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
//declaring two matrices
int [][] twoDimArray1 = {{1,0,0,0},{0,1,0,0},{0,0,0,0}};
int[][] twoDimArray2 = {{1,2,3},{1,1,1},{0,0,0},{2,1,0}};

//matrix multiplication process
int[][]twoDimArray3 = new int [twoDimArray1.length][twoDimArray2[0].length];
        for (int i=0; i<twoDimArray3[0].length; i++)
            for (int j=0; j<twoDimArray3.length; j++)
                for (int k=0; k<twoDimArray1[0].length; k++)
                              twoDimArray3[i][j] = twoDimArray3[i][j] + twoDimArray1[i][k] * twoDimArray2[k][j];

//output on display
        for (int i = 0; i < twoDimArray3.length; i++) {
            for (int j = 0; j < twoDimArray3[0].length; j++) {
                System.out.print(" " + twoDimArray3[i][j] + " ");
            }
            System.out.println();
        }
ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค: 1 2 3 1 1 1 0 0 0

์ง์‚ฌ๊ฐํ˜•์ด ์•„๋‹Œ 2์ฐจ์› ๋ฐฐ์—ด

2์ฐจ์› ๋ฐฐ์—ด์€ Java์˜ ๋ฐฐ์—ด ๋ฐฐ์—ด์ด๋ฏ€๋กœ ๊ฐ ๋‚ด๋ถ€ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ ํ–‰ ์ˆ˜๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ด ์ˆ˜(์ฆ‰, ๋™์ผํ•œ ํ–‰์˜ ๊ธธ์ด)๋Š” ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
//declaring and creating an array, specifying only the number of rows
int [][] twoDimArray = new int[5][];

//initialize the array, filling it with arrays of different lengths
        twoDimArray[0] = new int[]{1, 2, 3, 4, 5};
        twoDimArray[1] = new int[]{1,2,3,4};
        twoDimArray[2] = new int[]{1,2,3};
        twoDimArray[3] = new int[]{1,2};
        twoDimArray[4] = new int[]{1};
//display the resulting non-rectangular two-dimensional array on the screen
        for (int i = 0; i < twoDimArray.length; i++) {
            for (int j = 0; j < twoDimArray[i].length; j++) {
                System.out.print(" " + twoDimArray[i][j] + " ");
            }
            System.out.println();
        }
ํ”„๋กœ๊ทธ๋žจ ์ถœ๋ ฅ: 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์˜ 0๋ฒˆ์งธ ๋ผ์ธ์—๋Š” array ๊ฐ€ ํฌํ•จ๋˜๊ณ  {1,2,3,4,5}, ๋„ค ๋ฒˆ์งธ ๋ผ์ธ์—๋Š” array ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค {1}.

Java์˜ 3์ฐจ์› ๋ฐฐ์—ด

3์ฐจ์› ๋ฐฐ์—ด์€ ์ƒ์‹๊ณผ ์ž๋ฐ” ์–ธ์–ด์˜ ๋…ผ๋ฆฌ์— ๋”ฐ๋ผ "๋ฐฐ์—ด์˜ ๋ฐฐ์—ด" ๋˜๋Š” "๊ฐ ์š”์†Œ๊ฐ€ 2์ฐจ์› ๋ฐฐ์—ด์ธ ๋ฐฐ์—ด"์ด๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ด๋Ÿฌํ•œ 2์ฐจ์› ๋ฐฐ์—ด์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:
// create a three-dimensional array consisting of two two-dimensional arrays
int[][][] threeDimArr = new int[2][][];
//create the first 2D array of a 5x2 3D array
        threeDimArr[0] = new int[5][2];
//create a second 2D array of a 1x1 3D array
        threeDimArr[1] = new int[1][1];
๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ๋Š” ์„ธ ๊ฐ€์ง€ ์–‘์ด ๋ชจ๋‘ ๋™์‹œ์— ์ •์˜๋˜๋Š” 3์ฐจ์› ๋ฐฐ์—ด, ์ฆ‰ ์ง์‚ฌ๊ฐํ˜• 2์ฐจ์› ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•œ 3์ฐจ์› ๋ฐฐ์—ด์ด ๋” ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด - 7์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด 3์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด์€ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 3D ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์ธต ์ฃผ์ฐจ์žฅ. ๊ฐ ์ธต์€ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ์ฐจ ๊ณต๊ฐ„์€ 3์ฐจ์› ๋ฐฐ์—ด์˜ ํŠน์ • ์š”์†Œ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” ๊ณต๊ฐ„์ด ๋น„์–ด ์žˆ์œผ๋ฉด boolean๊ฐ’์ด false ์ด๊ณ  ๊ณต๊ฐ„์ด ์ฑ„์›Œ์ ธ ์žˆ์œผ๋ฉด true ์ธ ์œ ํ˜•์œผ๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
//set a boolean three-dimensional array. This car park has 3 floors, each of which can accommodate 2x5 = 10 cars. By default, all cells are empty (false)
boolean[][][] parkingLot = new boolean[3][2][5];
//two cars arrived and parked on the ground floor in cell [1][0] and [1][3]
        parkingLot[0][1][0] = true;
        parkingLot[0][1][3] = true;

//Output the array to the console
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 2; j++) {
                for (int k = 0; k < 5; k++) {
                    System.out.print("arr[" + i + "][" + j + "][" + k + "] = " + parkingLot[i][j][k] + "\t");

                }
                System.out.println();
            }
        }

Java ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์‹ค์ œ ์ž‘์—…์—์„œ์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด

์‹ค์ œ๋กœ ๋Œ€๋ถ€๋ถ„์˜ Java ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ์ž์ฃผ ์ ‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋งค์šฐ ์ ํ•ฉํ•œ ์ž‘์—…์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ–‰๋ ฌ์„ ์ƒ์ˆ˜๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋•Œ๋•Œ๋กœ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์ด ์‹ ๊ฒฝ๋ง์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  3. ๋‹ค์ฐจ์› ๋ฐฐ์—ด์€ ์•„์นด์ด๋ฒ„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด๋ฏธ์ง€ ์ž‘์—….

2์ฐจ์› ๋ฐ 3์ฐจ์› ๋ฐฐ์—ด์˜ ํฅ๋ฏธ๋กœ์šด ๋ฌธ์ œ

๋‹น์‹ ์€ Java์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์ž์‹ ๊ฐ์ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜ ๋ฌธ์ œ ์ค‘ ์ผ๋ถ€๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‰ฝ์ง€๋Š” ์•Š์ง€๋งŒ ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. ํ‹ฑํƒํ† . 3x3 ํ•„๋“œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ต๋Œ€๋กœ ํ”Œ๋ ˆ์ดํ•˜๋Š” ๋‘ ๋ช…์˜ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํ•„๋“œ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉฐ ๊ฐ ๋นˆ ํ•„๋“œ์— ์ฒซ ๋ฒˆ์งธ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์‹ญ์ž๊ฐ€๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  ๋‘ ๋ฒˆ์งธ ํ”Œ๋ ˆ์ด์–ด๋Š” 0์„ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ํ–‰, ํ•œ ์—ด ๋˜๋Š” ๋Œ€๊ฐ์„ ์œผ๋กœ ๋ฐฐ์—ด๋œ 3๊ฐœ์˜ ํฌ๋กœ์Šค ๋˜๋Š” 3๊ฐœ์˜ 0์„ ๋จผ์ € ์ˆ˜์ง‘ํ•œ ์‚ฌ๋žŒ์ด ์Šน์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋˜ ๋ฌด์—‡์„ ์ฝ์–ด์•ผ ํ• ๊นŒ์š”?

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์ž๋ฐ” ๊ฒŒ์ž„

๋žญํ„ด์˜ ๊ฐœ๋ฏธ . ์…€(2์ฐจ์› ๋ฐฐ์—ด)๋กœ ๋‚˜๋ˆ„์–ด์ง€๊ณ  ๊ฒ€์€์ƒ‰์ด๋‚˜ ํฐ์ƒ‰์œผ๋กœ ์น ํ•ด์ง„ ํŠน์ • ํ•„๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(์ž„์˜ ํ•จ์ˆ˜๋กœ ์„ค์ • ๊ฐ€๋Šฅ). "๊ฐœ๋ฏธ"๋Š” ์„ธํฌ ์ค‘ ํ•˜๋‚˜์—์„œ ๋ฌด์ž‘์œ„๋กœ ๊ตฌ์ฒดํ™”๋˜๋ฉฐ, ๊ฐ ๋‹จ๊ณ„์—์„œ ์ธ์ ‘ํ•œ ์„ธํฌ์˜ ์ˆ˜ํ‰ ๋˜๋Š” ์ˆ˜์ง ๋„ค ๋ฐฉํ–ฅ ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฏธ ์ด๋™ ๊ทœ์น™:
  • ๊ฒ€์€์ƒ‰ ์‚ฌ๊ฐํ˜•์—์„œ ๊ฐœ๋ฏธ๋Š” ์™ผ์ชฝ์œผ๋กœ 90ยฐ ํšŒ์ „ํ•˜๊ณ  ์…€์˜ ์ƒ‰์ƒ์„ ํฐ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•œ ํ›„ ๋‹ค์Œ ์‚ฌ๊ฐํ˜•์œผ๋กœ ์•ž์œผ๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํฐ์ƒ‰ ์‚ฌ๊ฐํ˜•์—์„œ ๊ฐœ๋ฏธ๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ 90ยฐ ํšŒ์ „ํ•˜๊ณ  ์„ธํฌ ์ƒ‰์ƒ์„ ๊ฒ€์€์ƒ‰์œผ๋กœ ๋ฐ”๊พผ ํ›„ ๋‹ค์Œ ์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜์•„๊ฐ‘๋‹ˆ๋‹ค.
n๊ฐœ๋ฏธ์˜ ์ดˆ๊ธฐ ์œ„์น˜๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋‹จ๊ณ„ ๋ฒˆํ˜ธ์—์„œ ๋ฐ˜๋ณต์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž‘์„ฑํ•˜์„ธ์š” . ํ•„๋“œ๋Š” 0๊ณผ 1๋กœ ๋ฌด์ž‘์œ„๋กœ ์ฑ„์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋˜๋Š” ์ฒด์ŠคํŒ ์˜ˆ์—์„œ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฌธ์ž W์™€ ๋กœ ํ‘œ์‹œ๋จ). B๋˜ํ•œ ๊ฐœ๋ฏธ์˜ ์ˆ˜ํ‰ ๋ฐ ์ˆ˜์ง ์œ„์น˜์™€ ์ด ๋‹จ๊ณ„์—์„œ์˜ ๋ฐฉํ–ฅ(๋ถ์ชฝ, ๋‚จ์ชฝ, ์„œ์ชฝ, ๋™์ชฝ)์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋” ํ•„์š”ํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐœ๋ฏธ๋Š” ๋ถ์ชฝ์„ ๋ด…๋‹ˆ๋‹ค. 3์ฐจ์› ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฃจ๋น…์Šค ํ๋ธŒ๋ฅผ ๋ชจ๋ธ๋งํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ฃจ๋น…์Šค ํ๋ธŒ์—๋Š” 6๊ฐœ์˜ ๋ฉด์ด ์žˆ์œผ๋ฉฐ ๊ฐ ๋ฉด์€ ์ƒ‰์ƒ์ด ์ง€์ •๋œ ์‚ฌ๊ฐํ˜•์˜ 3์ฐจ์› ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค Color[][][] rubik = new Color[6][3][3]. ๊ทธ๋Ÿฌ๋‚˜ ๋ฃจ๋น…์Šค ํ๋ธŒ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋ฐฐ์—ด์— ๊ด€ํ•œ ์œ ์šฉํ•œ ์ž๋ฃŒ

JavaRush์˜ ๋งŽ์€ ๊ธฐ์‚ฌ๋Š” ๋ฐฐ์—ด(์‹ค์ œ๋กœ ํ›จ์”ฌ ๋” ์ž์ฃผ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ 1์ฐจ์› ๋ฐฐ์—ด)์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์—๊ฒŒ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์‹ญ์‹œ์˜ค.
  1. Java์˜ ๋ฐฐ์—ด - ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์˜ˆ์ œ
  2. ๋ฐฐ์—ด์— ๊ด€ํ•œ ๊ฒƒ - ๋ฐฐ์—ด์— ๊ด€ํ•œ ์ข‹์€ ์ƒ์„ธ ๊ธฐ์‚ฌ
  3. Arrays ํด๋ž˜์Šค ๋ฐ ๊ทธ ์‚ฌ์šฉ - ์ด ๋ฌธ์„œ์—์„œ๋Š” ํด๋ž˜์Šค์˜ ์ผ๋ถ€ ๋ฉ”์„œ๋“œ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.Array
  4. Arrays๋Š” ๋ฐฐ์—ด์— ๊ด€ํ•œ ์ตœ์ดˆ์˜ JavaRush ๊ฐ•์˜ ์ž…๋‹ˆ๋‹ค .
  5. null์ด ์•„๋‹Œ ๊ธธ์ด๊ฐ€ 0์ธ ๋ฐฐ์—ด ๋ฐ˜ํ™˜ - ํšจ๊ณผ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์„ฑ์ž์ธ Joshua Bloch๊ฐ€ ๋นˆ ๋ฐฐ์—ด์„ ๋” ํšจ๊ณผ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION