맵 생성 알고리즘을 공부하던 도중 C#에서의 2차원 배열의 동적할당에 대해 검색을 해 보았고
동적할당은 힘들다는 사실과 처음으로 가변 배열에 대해 알게되었다.
가변 배열이란 배열을 차원단위에서 바꿀 수 있는것을 뜻한다.
예시로 이 코드는
int [][] arr = new int[3][];
arr[0] = new int [3];
arr[1] = new int [3];
arr[2] = new int [3];
arr의 세로를 3으로 만든뒤에 길이를 다시 모두 3으로 맞춰 3x3배열을 만든 것이다.
그리고 일반적인 2차원 배열과는 다르게
int [][] arr = new int[3][];
arr[0] = new int [5];
arr[1] = new int [8];
arr[2] = new int [6];
//배열의 모양
//[][][][][]
//[][][][][][][][]
//[][][][][][]
이렇게 정사각형이 아닌 그래프 처럼 나올 수도 있다
이런 성질을 가진 가변배열을 이용하여 다양한 곳에 사용할 수 있도록 해봐야겠다.