본문 바로가기
개념공부

2차원 배열을 1차원 배열로 관리하는 법

by 29살아저씨 2021. 8. 25.
반응형

3*3 배열이 있다고 하자

1 2 3 

4 5 6 

7 8 9 

행 : 3 열 : 3

이를 1차원 배열로 정리하면 1 2 3 4 5 6 7 8 9

index로는 0 1 2 3 4 5 6 7 8 이다.

여기서 6의 위치를 찾으려면 index 5이므로 

int x = index / 열

int y = index % 열

즉 x = 5 / 3 = 1

    y = 5 % 3 = 2 이므로

map[x][y] = map[1][2] = 6이다.

 

3*4 배열이 있다고 하자

1   2   3   4

5   6   7   8

9  10  11 12

행 : 3 열 : 4

마찬가지로 1차원 배열 index로 정리하면 0 1 2 3 4 5 6 7 8 9 10 11 이다.

 

여기서 7의 위치를 찾는다고 가정하자, 7은 index 값이 6이므로

int x = index / 열

int y = index % 열

즉, x = 6 / 4,  y = 6 % 4 이므로

map[1][2] = 7이다.

 

마지막으로 3*4 배열이 있다고 하자

1   2   3 

4   5   6 

7   8   9 

10 11 12

 

마찬가지로 1차원 배열 index로 정리하면 0 1 2 3 4 5 6 7 8 9 10 11 이다.

 

여기서 11의 위치를 찾는다고 가정하자, 11은 index 값이 10이므로

int x = index / 열

int y = index % 열

즉, x = 10 / 3,  y = 10 % 3 이므로

map[3][1] = 11이다.

 

이처럼 모든 행렬에서 원하는 값의 index값을 찾고 index / 열, index % 열 을 해주면 2차원배열의 x,y이 나타나므로 1차원을 2차원 배열으로 사용할 수 있다.

반응형

댓글