[문제]
[풀이 방법]
정처기 실기 문제집에서 봤던 문제인데 다시 만나니까 반가운 문제네요.
시계방향으로 총 4가지의 방향이 나올 수 있습니다.
위쪽 가로 방향(정방향) / 오른쪽 아래 방향 / 아래쪽 가로 방향 (역방향) / 왼쪽 윗 방향
이 네가지 경우를 나눠서 증가하는 값을 이차원 배열에 저장하면 됩니다.
그리고 4 방향이 끝난 후에는 계산하는 배열의 숫자가 2씩 줄어듭니다.
4 -> 3 -> 3-> 2
2-> 1-> 1 -> 끝
2씩 줄어드는 반복문을 가장 바깥쪽으로 둔 후에 index 변수로 각 좌표의 증가하거나 고정되는 값을 정해주면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
int index=0;
int i=1;
int row,col;
for(intj=N;j;0;j-=2){
/**
*3-;2-;2-;1
*1,1-;1,2-;1,3-;2,3-;3,3-;3,2-;3,1-;2,1-;2,2
*/
for(row=0;row<j;row++){//-;
map[index][index+row]=i++;
}
for(col=1;col<j;col++){//오른쪽아래
map[index+col][N-index-1]=i++;
}
for(row=1;row<j;row++){//;-
map[N-index-1][N-index-row-1]=i++;
}
for(col=1;col<j-1;col++){//왼쪽위
map[N-index-col-1][index]=i++;
}
index++;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
'SWEA > D2' 카테고리의 다른 글
[SWEA 1946][D2][JAVA] 간단한 압축 풀기 (0) | 2019.05.09 |
---|---|
[SWEA 1948][D2][JAVA] 날짜 계산기 (0) | 2019.05.08 |
[SWEA 1959][D2][JAVA] 두 개의 숫자열 (0) | 2019.05.08 |
[SWEA 1962][D2][JAVA] 숫자 배열 회전 (0) | 2019.05.07 |
[SWEA 1974][D2][JAVA] 스도쿠 검증 (0) | 2019.05.03 |