교육 (Today I Learned)/SeSAC

SeSAC 13일차 / 자료 구조(배열)

Bay Im 2023. 8. 3. 00:12
SeSAC 13일차(2023-08-02)
자료구조(배열)

 

배열(Array)

다차원 배열

  • 다차원 배열
    • 배열이 계층적인 구조를 가지고 계층의 개수가 차원 수가 되는 중첩 구조 배열

 

ex)

// 2차원 배열 생성

int[][] map = {{1, 2, 3, 4},

    {5, 6, 7, 8},

    {9, 0, 1, 2}};

 

int[][] map2 = new int[3][5];

int k = 0;

for (int i=0; i<3; i++) {

    for (int j=0; j<5; j++) {

        map2[i][j] = k;

        k++;

    }

}

⇒ 0 1 2 3 4

5 6 7 8 9

10 11 12 13 14 배열 출력

 

 

 

  • 다차원 배열에서 접근
    • 다차원 배열은 축의 순서에 맞추어 인덱스로 접근
    • length 활용 시 가장 앞쪽 차원의 길이가 나온다.

 

ex)

// 2차원 배열 접근

sout(map[0][1]);

 

// for 문을 활용한 전체 항목 접근

for (int[] vec: map) {

    for(int i: vec) {

        sout(i + “ “);

    }

    sout(””);

}

 

// length의 활용

for (int i = 0; i < map.length; i+) {

    for (int j = 0; j < map[0].length; j++) {

        sout(map[i][j] + “ “);

    }

    sout(””);

}

 

 

 

  • 다차원 배열의 수정
    • 모든 축에 대한 인덱스를 선택하여 해당 값을 수정
    • 상위 차원에 대한 인덱스를 선택하여 하위 차원의 배열로 수정

 

ex)

// 2차원 배열 항목 값 수정

map[0][1] = 100;

int[] rag = {50, 60, 70, 80};

map[1] = rag;

 

 

 

 

 

오늘의 실습 코드

https://github.com/yubin-im/SeSAC/tree/600b0977194b49882400687fe0ea2af2219053ad/20230802