1차원 배열 + 1차원 배열?
다른 언어에서는 '배열은 한 변수에 데이터 여러 개를 선언할 수 있게 해주는 자료형'이라고 할 것이다. '배열은 연속적으로 데이터를 집어넣을 수 있는 1차원 형식의 자료 구조'라고 정의할 수 있다.
배열 안의 배열, 즉 2차원 배열은 어떨까? 2차원 배열은 다음 모습과 같다.
data = [[1,2,3],[4,5,6]]
1차원 배열을 선언하면 다음과 같이 한 방향으로 연속적인 데이터가 나열된다.
조회하려는 항목의 순서인 N에서 1을 뺀 숫자가 바로 원하는 데이터를 조회할 수 있는 인덱스이다. 여기에 배열을 하나 더 얹어 2차원으로 선언할 경우 다음과 같이 사각형이 된다.
이 배열에서 원하는 값을 찾으려면 1차원 배열과 다르게 '세로 위치 -> 가로 위치' 순으로 조회해야 한다. 세로 방향으로 먼저 행을 고른 다음, 가로 방향으로 열을 고르면 원하는 데이터를 찾을 수 있다.
2차원 배열의 가장 큰 핵심은 '그룹'이다. 1차원 배열과 다르게 본격적으로 데이터에 의미를 부여하기 시작하는 구조이며, 이런 정보를 기반으로 새로운 데이터를 구축하거나, 원하는 정보를 얻어내기 위해 조작을 한다.
배열을 이미지로 생각하면 더욱 빠르게 정보를 이해할 수 있다.
'자료구조&알고리즘 > Kotlin 활용' 카테고리의 다른 글
프로그래머스 - 짝지어 제거하기(level2) (0) | 2024.09.04 |
---|---|
프로그래머스 - 이상한 문자 만들기(level 1) (0) | 2024.08.27 |
프로그래머스 - 시저 암호 (0) | 2024.08.23 |
문자열 (0) | 2024.08.22 |
시간 복잡도 (0) | 2024.08.16 |