Learning
When: 1학년 8월 10일
How:
2차원 배열은 예전에 '이것이 C#이다' 라는 책에서 보고 난 후 쓰지도 않았고 복습도 안 해서 그런지 백준에 나오니 어떻게 쓰는지 기억이 나지 않아 검색해야 했기에 글을 쓰게 되었습니다.
Understanding:
- 정의 : 2차원 배열을 쉽게 이해할 때, 점, 선, 면의 개념을 떠올리면 아주 쉽습니다.
int 자료형으로 예시를 들면 일반적인 int a = 10; 이건 값이 하나 뿐이죠?
int [] a = {1, 2, 3}; 이렇게 값이 일렬로 쭉 세워진 모양이 됩니다. 이것은 선으로 생각합니다.
면의 모양이 된 배열입니다. 그럼 만약 저 2차원 배열에서 6이라는 값을 가져오고 싶다면
2차원 배열은 행렬과 거의 똑같습니다.
n행, m열로 인덱스 번호가 정해지는데 행렬은 숫자가 1로 시작하는 데에 반해
2차원 배열은 배열이니 만큼 0으로 시작합니다.
인덱스 번호가 5가 아닌 1,1이 됩니다. 행렬을 아신다면 행렬이 떠오르실 텐데
그리고 지금 글의 주제인 2차원 배열은 여기서 차원을 하나 늘려 아래의 그림처럼
그래서 이것을 점으로 생각하면 됩니다. 그리고 차원이 하나 늘어나 배열이 되면,
int 자료형으로 예시를 들면 일반적인 int a = 10; 이건 값이 하나뿐이죠?
그래서 이것을 점으로 생각하면 됩니다. 그리고 차원이 하나 늘어나 배열이 되면,
int[] a = {1, 2, 3}; 이렇게 값이 일렬로 쭉 세워진 모양이 됩니다. 이것은 선으로 생각합니다.
그리고 지금 글의 주제인 2차원 배열은 여기서 차원을 하나 늘려 아래의 그림처럼
면의 모양이 된 배열입니다. 그럼 만약 저 2차원 배열에서 6이라는 값을 가져오고 싶다면
인덱스 번호가 5가 아닌 1,1이 됩니다. 행렬을 아신다면 행렬이 떠오르실 텐데
2차원 배열은 행렬과 거의 똑같습니다. n행, m열로 인덱스 번호가 정해지는데,
행렬은 숫자가 1로 시작하는 데에 반해 2차원 배열은 배열이니 만큼 0으로 시작합니다.

- 선언, 사용법 : 2차원 배열은 int 자료형으로 예시를 든다면
int[,] a = new int[마지막 행, 마지막 열]; 이렇게 사용할 수도 있고,
값에 크기가 아닌 값을 한 번에 대입할 때는 {{1,2,3},{4,5,6}}이렇게 사용할 수도 있습니다.
그리고 값을 찾을 때는 아까 말한 대로 a[0,0] = 1; 이런 식으로 꼭 2개의 인덱스를 사용해서
값을 찾아야 합니다.
Result: 2차원 배열 말고도 여러 겹의 2차원 배열로 이루어져 있는 3차원 배열도 있지만 여러 차원의 배열은 읽기 힘들기 때문에 너무 남발한다면 가독성이 떨어지게 되니 그것에 주의하며 꼭 필요한 경우에만 사용하면 좋을 것 같습니다.
'C#' 카테고리의 다른 글
| [C#] StringBuilder (1) | 2025.08.12 |
|---|---|
| [C#] 가비지 컬렉터 (GC) (4) | 2025.08.11 |
| [C#] SOLID 원칙 (5 : D/DIP) (2) | 2025.08.10 |
| [C#] SOLID 원칙 (4 : I/ISP) (1) | 2025.08.08 |
| [C#] SOLID 원칙 (3 : L/LSP) (4) | 2025.08.07 |