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차원 배열으로 사용할 수 있다.
'개념공부' 카테고리의 다른 글
[Spring / BackEnd] 404 Error Exception 날리는 법 (0) | 2021.10.20 |
---|---|
[Graph] 다익스트라(Dijkstra) 알고리즘 (0) | 2021.09.30 |
[Graph] 위상정렬 (0) | 2021.09.28 |
CT(수의 표현, 유클리드 호제, 페르마의 소정리) (0) | 2021.09.27 |
[2021-09-23] Sliding Window (0) | 2021.09.23 |
댓글