본문 바로가기

알고리즘/Jungol

[Java] 정올기초다지기 배열2-형성평가06

 

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
package 배열2.형성평가06;
 
public class Main {
 
    public static void main(String[] args) {
 
        int [][] arr = new int [5][7];
        
        for(int i=1;i<=arr.length;i+=2) {
            arr[0][i] = 1;
        }
        
        for(int i=1;i<arr.length;i++) {
            for(int j=1;j<arr[i].length-1;j++) {
                arr[i][j] = arr[i-1][j-1+ arr[i-1][j+1];
            }
        }
        for(int i=0;i<arr.length;i++) {
            for(int j=1;j<arr[i].length-1;j++) {
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        }
    }
}
 

 

> 5*5의 배열을 출력할것이지만, j-1 j+1의 값들을 더해서 밑에 배열에 저장해야하기때문에 5행7열의 배열을 만듭니다.

   0번째방의 배열에 1 3 5 방의 값을 1로 입력하여줍니다.

   1번방의 1열에서부터 저장을 시작하기때문에 i=1 j=1의 for문을 생성하고,

   위의 값의 왼쪽과 오른쪽의 값을 더하여서 arr[i][j]방에 저장합니다.

 

> 저장하는 for문 종료후 출력또한 행은 0행부터 시작하지만 열은 1열부터 시작하도록 출력하여주고 arr[i]길이에-1을 해주어 7열중 2개의 왼쪽과 오른쪽 끝의 열을 제외하고 출력하여줍니다.