๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JAVA/๊ธฐ๋ณธ ์ด๋ก 

7. ๋‹ค์ฐจ์› ๋ฐฐ์—ด (Multi Dimensional Array)

by ๐Ÿณ Laboon 2024. 2. 10.
2์ฐจ์› ๋ฐฐ์—ด์ด๋ž€?

์šฐ๋ฆฌ๋Š” 2์ฐจ์› ๋ฐฐ์—ด์— ์ต์ˆ™ํ•˜๋‹ค. ์ง€๊ธˆ ์ด ๊ธ€์„ ๋ณด๋Š” ํ™”๋ฉด๋„ x by y์˜ ํ•ด์ƒ๋„๋ฅผ ๊ฐ€์ง„ 2์ฐจ์› ๋ฐฐ์—ด์ด๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ, 1์ฐจ์› ๋ฐฐ์—ด์ด๋ž‘ ๋‹ค๋ฅผ๊ฒŒ ์—†์–ด์„œ ์†”์งํžˆ ๋ญ˜ ์จ์•ผ ํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

์กฐ๊ธˆ๋งŒ ์ƒ๊ฐ์„ ๋ฐ”๊พธ๋ฉด ๋˜๋Š”๊ฒŒ 2์ฐจ์› ๋ฐฐ์—ด์ด๋ผ์„œ...

1์ฐจ์› ๋ฐฐ์—ด์ด ๋ฐฐ์—ด ํ˜•ํƒœ๋ฅผ ๋ ๋Š” ๊ฒƒ์ด 2์ฐจ์› ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

 

์–ด๋–ป๊ฒŒ ๋ด์•ผํ• ๊นŒ์š”?

Cube

๋ณ€์ˆ˜

ํ•œ ๋ธ”๋Ÿญ

ํ๋ธŒ๋ฅผ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. ์šฐ๋ฆฌ ๋ˆˆ์—๋Š” 3์ฐจ์›์œผ๋กœ ๋ณด์ด๋Š” ํ•ด๋‹น ํ๋ธŒ๋Š” ํ•œ ๋ธ”๋Ÿญ์ด ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ์—์„œ๋„ ๋˜‘๊ฐ™์ด int cube ๋ผ๊ณ  ํ•˜๋ฉด ์ € ํ•œ ๋ธ”๋Ÿญ์€ int ์ •๋ณด๋ฅผ ๊ฐ–๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

์„ ํ˜• ๋ฐฐ์—ด (1์ฐจ์› ๋ฐฐ์—ด)

์„ธ ๋ธ”๋Ÿญ

๊ทธ๋Ÿผ ๋ฐฐ์—ด์€? ์ง€๊ฐ‘์„ ์„ค๋ช…ํ–ˆ๋“ฏ, ํ๋ธŒ์—์„œ๋„ ๋ณด์ผ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

๊ฐ™์€ '๋‹จ์œ„'๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ๊ฒƒ์ด ๋ฐฐ์—ด์ธ๋ฐ์š”.

ํ•ด๋‹น ์‚ฌ์ง„์—์„œ๋Š” block์ด 3๊ฐœ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ 1 by 3์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” int[] cube = new int[3]; ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด์ฃ .

 

2์ฐจ์› ๋ฐฐ์—ด

์„ธ๋ธ”๋Ÿญ์ด ์„ธ๋ธ”๋Ÿญ

๊ธฐ๋ณธ์ ์œผ๋กœ ์ , 1์ฐจ์›์€ ์„ , 2์ฐจ์›์€ ๋ฉด์˜ ๋ชจ์–‘์„ ๋ ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” 1์ฐจ์›์ด n๊ฐœ๊ฐ€ ์žˆ์œผ๋ฉด 2์ฐจ์›์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š”๋ฐ์š”.

๋ณ€์ˆ˜์—์„œ 1์ฐจ์›์œผ๋กœ ๋ฌถ์„ ๋•Œ, []๋ฅผ ์‚ฌ์šฉํ–ˆ์ฃ ? cube -> [] cube

1์ฐจ์›์—์„œ 2์ฐจ์›์œผ๋กœ ๋ฌถ์„ ๋•Œ๋„ []๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [] cube -> [][] cube

 

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

2์ฐจ์› ๋ฐฐ์—ด์„ ์•Œ๊ฒŒ๋˜์—ˆ์œผ๋ฉด ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ์ดํ•ดํ•˜๊ธฐ๋Š” ๋”์šฑ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

3์ฐจ์› ๋ฐฐ์—ด์€ 2์ฐจ์› ํ˜•ํƒœ๋ฅผ ๋ ๋Š” [][] cube๋ฅผ ๋ฌถ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ [][][] cube๊ฐ€ ๋˜๊ฒ ์ฃ ?

4์ฐจ์› ๋ฐฐ์—ด์€ 3์ฐจ์› ํ˜•ํƒœ๋ฅผ ๋ ๋Š” [][][] cube๋ฅผ ๋ฌถ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ [][][][] cube๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, cube์— ๊ฐ€๊นŒ์šด [] ์ผ์ˆ˜๋ก 1์ฐจ์›์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

Cube์™€ ๊ฐ™์€ 3by 3 ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์„œ ๊ฐ’์„ ํ™•์ธํ•ด๋ณด๋ฉด 1๊ฐœ์˜ ๋ฉด์ด 3๊ฐœ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

// ํ๋ธŒ๋ฅผ ์ƒ์„ฑ
int[][][] cube = new int[3][3][3];

// ํ•˜๋‚˜์˜ ๋ฉด 3์ฐจ์›์˜ ๊ฐ„์„ญ์„ ๋ฐ›๊ธฐ ์ „
cube[0][0][0] = 0;
cube[0][0][1] = 1;
cube[0][0][2] = 2;
cube[0][1][0] = 3;
cube[0][1][1] = 4;
cube[0][1][2] = 5;
cube[0][2][0] = 6;
cube[0][2][1] = 7;
cube[0][2][2] = 8;

// ๋‘ ๋ฒˆ์งธ ๋ฉด์˜ ์‹œ์ž‘, ์ฐจ์›์ด ํ•˜๋‚˜ ์ฆ๊ฐ€
cube[1][0][0] = 9;

// ... ์ƒ๋žต

cube[2][2][2] = 26

 

https://www.notion.so/24jihwan/e710f65bdd964f848ea282dd10107c20

 

๋ฐฐ์—ด | Notion

๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

24jihwan.notion.site