File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+ import java .util .ArrayList ;
2+ import java .util .List ;
3+
4+ /**
5+ * m * n 행렬을 시계 방향 순대로 요소를 정렬하여 반환하세요.
6+ */
7+ class Solution {
8+
9+ public List <Integer > spiralOrder (int [][] matrix ) {
10+
11+ List <Integer > spirals = new ArrayList <>();
12+
13+ int top = 0 ;
14+ int bottom = matrix .length - 1 ;
15+ int start = 0 ;
16+ int end = matrix [0 ].length - 1 ;
17+
18+ while (top <= bottom && start <= end ) {
19+ // 우측
20+ for (int i = start ; i <= end ; i ++) {
21+ spirals .add (matrix [top ][i ]);
22+ }
23+ top ++;
24+
25+ // 아래
26+ for (int i = top ; i <= bottom ; i ++) {
27+ spirals .add (matrix [i ][end ]);
28+ }
29+ end --;
30+
31+ // 좌측
32+ if (top <= bottom ) {
33+ for (int i = end ; i >= start ; i --) {
34+ spirals .add (matrix [bottom ][i ]);
35+ }
36+ bottom --;
37+ }
38+
39+ // 위
40+ if (start <= end ) {
41+ for (int i = bottom ; i >= top ; i --) {
42+ spirals .add (matrix [i ][start ]);
43+ }
44+ start ++;
45+ }
46+
47+ }
48+
49+ return spirals ;
50+ }
51+
52+ }
53+
You can’t perform that action at this time.
0 commit comments