โ ๋ฌธ์
์ ์ N์ ์ ๋ ฅ ๋ฐ์ N * N ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ์ซ์๋ฅผ ์ ์ฅํ๊ณ ์ถ๋ ฅํ์์ค.
โ ์ฝ๋
import java.util.Scanner;
public class SnakePatternArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the value of N: ");
int N = scanner.nextInt();
int[][] array = new int[N][N];
int num = 1;
for (int i = 0; i < N; i++) {
if (i % 2 == 0) {
// ํ์ ๋ฒ์งธ ํ (0๋ถํฐ ์์): ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฑ์ฐ๊ธฐ
for (int j = 0; j < N; j++) {
array[i][j] = num++;
}
} else {
// ์ง์ ๋ฒ์งธ ํ: ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ฑ์ฐ๊ธฐ
for (int j = N - 1; j >= 0; j--) {
array[i][j] = num++;
}
}
}
// ๋ฐฐ์ด ์ถ๋ ฅ
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
scanner.close();
}
}
โ ์ถ๋ก ๊ณผ์
[0][0]
1[0][1]
2[0][2]
3[0][3]
4[0][4]
5[1][0]
6[1][1]
7[1][2]
8[1][3]
9[1][4]
10[2][0]
11[2][1]
12[2][2]
13[2][3]
14[2][4]
15[3][0]
16[3][1]
17[3][2]
18[3][3]
19[3][4]
20[4][0]
21[4][1]
22[4][2]
23[4][3]
24[4][4]
25
์ผ๋จ ์ ์ํ ๋ณ์ number ์ ์ ์ธํด์ฃผ๊ณ ๊ฐ์ 1๋ก ์ด๊ธฐํ ์ํจ๋ค
์ด์ number ์ 1์ฉ ์ฆ๊ฐ์์ผ๊ฐ๋ฉฐ ์ด์ค for๋ฌธ์ ๋๋ ค ์ค ๊ฑด๋ฐ ์ด๋ณด์๋ค์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํ ๋๋
์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ๋์ดํด๋ณด๊ณ x์ y์ฌ์ด์ ๊ท์น์ ์ฐพ์๋ณด๋ ๊ฒ์ด ์ข๋ค.
์ซ์๊ฐ 1 2 3 4 5 ๋ก ๋ณํ๋ ๋์ ํ์ 0์ธ๋ฐ ์ด์ 0, 1, 2, 3, 4๋ก ๋ณํ๋ค.
๊ทธ๋ผ ๋ฐ๊นฅํฌ๋ฌธ์ i๊ฐ ํ์ด ๋๊ณ ์์ชฝ ํฌ๋ฌธ์ j๊ฐ ์ด์ด ๋๋ฏ๋ก number์ 1์ฉ ์ฆ๊ฐํด์ฃผ๋ฉฐ
ํ๋ ฌ์ [i][j] ๊ทธ๋๋ก ๋์
ํด์ฃผ๋ฉด ๋๋ค.