1차원 배열 + 1차원 배열?

다른 언어에서는 '배열은 한 변수에 데이터 여러 개를 선언할 수 있게 해주는 자료형'이라고 할 것이다. '배열은 연속적으로 데이터를 집어넣을 수 있는 1차원 형식의 자료 구조'라고 정의할 수 있다.

 

배열 안의 배열, 즉 2차원 배열은 어떨까? 2차원 배열은 다음 모습과 같다.

 

data = [[1,2,3],[4,5,6]]

 

1차원 배열을 선언하면 다음과 같이 한 방향으로 연속적인 데이터가 나열된다.

배열 생성 시 할당되는 구조

 

조회하려는 항목의 순서인 N에서 1을 뺀 숫자가 바로 원하는 데이터를 조회할 수 있는 인덱스이다. 여기에 배열을 하나 더 얹어 2차원으로 선언할 경우 다음과 같이 사각형이 된다.

2차원 배열을 직관적으로 나타냈을 때

 

이 배열에서 원하는 값을 찾으려면 1차원 배열과 다르게 '세로 위치 -> 가로 위치' 순으로 조회해야 한다. 세로 방향으로 먼저 행을 고른 다음, 가로 방향으로 열을 고르면 원하는 데이터를 찾을 수 있다.

 

2차원 배열의 가장 큰 핵심은 '그룹'이다. 1차원 배열과 다르게 본격적으로 데이터에 의미를 부여하기 시작하는 구조이며, 이런 정보를 기반으로 새로운 데이터를 구축하거나, 원하는 정보를 얻어내기 위해 조작을 한다. 

그림을 2차원 배열로 시각화한 예시

 

배열을 이미지로 생각하면 더욱 빠르게 정보를 이해할 수 있다.

 

 

+ Recent posts