โ ๋ฌธ์
์๋์ ๊ฐ์ 2์ฐจ์ ๋ฐฐ์ด์ ์ผ์ชฝ์ผ๋ก 90๋ ํ์ ํ์ฌ ์ถ๋ ฅํ์์ค.
โ ์ฝ๋
public class Main {
public static void main(String[] args) {
int[][] num = new int[5][5];
int count = 1;
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num.length; j++) {
num[i][j] = count++;
}
}
// ์๋ณธ๋ฐฐ์ด ์ถ๋ ฅ
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num.length; j++) {
System.out.print(num[i][j] + "\t");
}
System.out.println();
}
System.out.println();
// 90๋ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ์ฌ ์ถ๋ ฅ
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num.length; j++) {
System.out.print(num[j][4 - i] + "\t"); // ์ญ์์ผ๋ก ์ถ๋ ฅ
}
System.out.println();
}
}
}
โ ์ถ๋ก ๊ณผ์
1. ์๋ณธ๋ฐฐ์ด ์ถ๋ ฅ
๋น๊ต๋ฅผ ์ํด์ ์๋ณธ ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํด ์ฃผ์๋ค. 25์นธ์ง๋ฆฌ ๋ฐฐ์ด์ ์ ์ธํด์ฃผ๊ณ count ๋ณ์๋ฅผ ์ ์ธํด์ 1๋ก ์ด๊ธฐํ ์์ผ์ค ๋ค, for๋ฌธ์ ๋๋ฆฌ๋ฉฐ count๋ฅผ 1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ๋ฐฐ์ด์ ์ง์ด ๋ฃ์ด ์ฃผ์๋ค. ์ด์ ๋ค์ for๋ฌธ์ ๋๋ ค์ ๋ฐฐ์ด ์์๋ค์ ์ถ๋ ฅํด์ฃผ์ด์ผ ํ๋ค. "\t"์ ์ฌ์ฉํด์ฃผ๋ฉด ์ ์์ ํญํค๋งํผ ๊ฐ๊ฒฉ์ ๋ฃ์ด์ ์ถ๋ ฅํ ์ ์๋ค.
2. ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก 90๋ ํ์ ํ ๋ฐฐ์ด ์ถ๋ ฅ
์ฃผ์ด์ง ๋ฐฐ์ด์ 90๋ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ์ํค๊ธฐ ์ํด์๋ ๋ฐฐ์ด์ ํ๊ณผ ์ด์ ์๋ก ๋ฐ๊พธ๊ณ , ๊ฐ ํ์ ๋ํด์ ์ด์ ์์๋ฅผ ์ญ์์ผ๋ก ์ถ๋ ฅํด์ผ ๋๋ค.
<๋ฐฐ์ด ์ธ๋ฑ์ค ์ฝ๋ ๋ฒ>
<์๊ณ๋ฐฉํฅ์ผ๋ก ๋ฐฐ์ด ํ์ ์ ์ธ๋ฑ์ค์ ๋ณํ>
์ด๋ณด์๋ค์ ๋ฐฐ์ด์ 90๋ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ์ํค๊ธฐ ์ํด์๋ ์ '๋ฐฐ์ด์ ํ๊ณผ ์ด์ ์๋ก ๋ฐ๊พธ๊ณ , ๊ฐ ํ์ ๋ํด์ ์ด์ ์์๋ฅผ ์ญ์์ผ๋ก ์ถ๋ ฅํด์ผ ๋๋์ง' ๋ฐ๋ก ๊ฒฐ๋ก ์ ๋๋ฌํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋ด๊ฐ ์ถ์ฒํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์๋ค.
๋ฌด์กฐ๊ฑด ๋ฐฐ์ด ์์์ 1๋ถํฐ 10์ ์ฐพ์๋ณด์. ๊ทธ๋์ 1๋ถํฐ 10๊น์ง
๊ทธ๋์ ์ด๋ค์ ๋ฐฐ์ด ์ธ๋ฑ์ค๋ฅผ ์์๋๋ก ์ ์ด ๋ณด์.
5 [0][0] |
10 [0][1] |
15 [0][2] |
20 [0][3] |
25 [0][4] |
4 [1][0] |
9 [1][1] |
14 [1][2] |
19 [1][3] |
24 [1][4] |
3 [2][0] |
8 [2][1] |
13 [2][2] |
18 [2][3] |
23 [2][4] |
2 [3][0] |
7 [3][1] |
12 [3][2] |
17 [3][3] |
22 [3][4] |
1 [4][0] |
6 [4][1] |
11 [4][2] |
16 [4][3] |
21 [4][4] |
๊ทธ๋ผ ์ด๋ฐ ์ซ์๊ฐ ๋์จ๋ค.
[4][0] => [3][0] => [2][0] => [1][0] => [0][0]
[4][1] => [3][1] => [2][1] => [1][1] => [0][1]
[4][2] => [3][2] => [2][2] => [1][2] => [0][2]
์ผ๋จ ํ ์ค ์์์ ํ ์ธ๋ฑ์ค๋ 4,3,2,1,0 ์ผ๋ก ๋ณํ๋๋ฐ ์ด ์ธ๋ฑ์ค๋ ๊ทธ๋๋ก 0์ด๋ค
๊ทธ๋ ๋ค๋ฉด ๋ฐ๊นฅ ํฌ๋ฌธ i๋ฅผ ์ด ์ธ๋ฑ์ค๋ก ์ง์ด๋ฃ์ด์ฃผ๊ณ , ์์ชฝ ํฌ๋ฌธ์ j๋ฅผ ํ ์ธ๋ฑ์ค๋ก ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค.
์ฆ ๋ฐฐ์ด์ ํ๊ณผ ์ด์ ์๋ก ๋ฐ๊พธ์ด ์ถ๋ ฅํด์ฃผ์ด์ผ ํ๋ค๋ ๋ง์ด๋ค. = ์ถ๋ ฅ๋ฌธ์ด [j][i]๋ก ๋์์ผ ํ๋ค.
๊ทผ๋ฐ ๋จ์ํ ํ๊ณผ ์ด์ ์์น๋ง ๋ฐ๊ฟ์ [j][i]๋ก ์ถ๋ ฅํด์ฃผ๋ฉด
1 | 6 | 11 | 16 | 21 |
2 | 7 | 12 | 17 | 22 |
3 | 8 | 13 | 18 | 23 |
4 | 9 | 14 | 19 | 24 |
5 | 10 | 15 | 20 | 25 |
์ด๋ฐ ๋ชจ์์ผ๋ก ์ถ๋ ฅ์ด ๋๋ค. ์ด ๋ชจ์์ ์ฐ๋ฆฌ๊ฐ ์ถ๋ ฅํ๋ ค๋ ๊ฒ์ด ์๋๋ค.
์ฌ๊ธฐ์ ๊ฐ ํ์ ๋ํด์ ์ด์ ์์๋ฅผ ์ญ์์ผ๋ก ์ถ๋ ฅํด์ผ ๋๋ค๋ ๊ฒ๋ ๊ณ ๋ คํด์ผ ํ๋ค.
12345
์์๊ฐ ์๋๋ผ ๋ฐ๋๋ก
54321
๋ก ๋ค์ด๊ฐ์ผ ํ๋ค.
๊ทธ๋ ๋ค๋ฉด ํ์ ๊ฐ๋ฆฌํค๋ j๋ ๊ทธ๋๋ก ๋๋๊ณ ์ด์ธ i์ ๋ญ๊ฐ ์์ ์ ํด ์ฃผ์ด์ผ ํ๋ค๋ ๋ป์ด ๋๋ค.
[4][0] => [3][0] => [2][0] => [1][0] => [0][0]
[4][1] => [3][1] => [2][1] => [1][1] => [0][1]
[4][2] => [3][2] => [2][2] => [1][2] => [0][2]
์ด์ ์ธ๋ฑ์ค๋ 4 3 2 1 0์ผ๋ก ๋ณํ๋ค.
j | 0 | 0 | 0 | 0 | 0 |
i | 0 | 1 | 2 | 3 | 4 |
๋์ถํด์ผํ๋ ๊ฐ | 4 | 3 | 2 | 1 | 0 |
4-0=4 | 4-1=3 | 4-2=2 | 4-3=1 | 4-4=0 |
์ฆ ํ ์ค ์์์ ์ด ์ธ๋ฑ์ค๋ 4-i๊ฐ ๋๋ค.
ํ์ ํ์ ๋ฐฐ์ด์์ ๊ฐ ์ซ์๋ [j][n-1-i] ์์น์ ์ค๊ฒ ๋๋ค. (n์ ๋ฐฐ์ด์ ํฌ๊ธฐ)