본문 바로가기

알고리즘/정보처리기사 실습(JAVA)

[정보처리기사][알고리즘][JAVA]2차원 배열 응용-3(모리새계모양)

반응형

모래시계모양으로 배열 채우기

2차원 배열 A(5.5)의 원소에 다음 그림과 같은 모습으로 값을 저장해주는 알고리즘을 제시하라.

sol) 특징 : 행우선 

 행을 R , 열을 C, 중간행을 M 이라고 하자.

1행부터 M행 까지의 경우 , C의 범위는 R~(6-R)

(M+1)행부터 5행까지의 경우, C의 범위는 (6-R) ~R

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
public class Test {
 
    public static void main(String[] args) {
 
        int A[][] = new int[5][5]; // 1~5 사용
        int V = 0// 출력값을 담은 변수
 
        for (int i = 0; i < 5; i++) { // i는 행, j는 열
            if (i <= 2) {
                for (int j = i; j < 5 - i; j++) {
                    V = V + 1;
                    A[i][j] = V;
                }
            }
 
            else {
                for (int j = 4-i; j <=i; j++) {
                    V = V + 1;
                    A[i][j] = V;
                }
 
            }
        }
 
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(A[i][j] + "\t");
            }
            System.out.println();
        }
    }
}
 
cs


반응형