동적 배열이란?
동적 배열은 크기를 동적으로 조정할 수 있는 배열입니다. 배열은 원소의 개수를 미리 지정하여 생성하는 정적 배열과 달리, 동적 배열은 원소를 추가하거나 삭제할 때마다 배열의 크기를 조정할 수 있습니다.
1차원 동적 배열
1차원 동적 배열은 하나의 인덱스로 구성된 배열입니다. 이 배열은 크기를 동적으로 조정할 수 있어서 원소를 추가하거나 삭제할 수 있습니다.
C++을 기준으로 예를 들어보겠습니다.
#include <iostream>
#include <vector>
int main() {
// 동적 배열 생성 및 초기화
std::vector<int> dynamicArray;
// 배열에 원소 추가
dynamicArray.push_back(1); // [1]
dynamicArray.push_back(2); // [1, 2]
dynamicArray.push_back(3); // [1, 2, 3]
// 배열의 크기 출력
std::cout << "Array size: " << dynamicArray.size() << std::endl;
// 배열의 원소 출력
for (int i = 0; i < dynamicArray.size(); i++) {
std::cout << dynamicArray[i] << " ";
}
return 0;
}
위 코드에서는 std::vector
를 사용하여 1차원 동적 배열을 생성하고 초기화하였습니다. push_back
함수를 사용하여 배열에 원소를 추가할 수 있으며, size
함수를 사용하여 배열의 크기를 출력할 수 있습니다.
2차원 동적 배열
2차원 동적 배열은 행과 열로 구성된 배열입니다. 1차원 동적 배열과 달리 2차원 동적 배열은 행의 개수와 열의 개수를 동적으로 조정할 수 있습니다.
예를 들어, Python을 기준으로 2차원 동적 배열을 생성하는 코드는 다음과 같습니다.
# 모든 원소가 0으로 초기화된 2차원 동적 배열 생성
rows = 3
cols = 4
dynamicArray = [[0] * cols for _ in range(rows)]
# 배열의 크기 출력
print("Array size: ", len(dynamicArray), "x", len(dynamicArray[0]))
# 배열의 원소 출력
for row in dynamicArray:
for element in row:
print(element, end=" ")
print()
위 코드에서는 rows
와 cols
변수를 사용하여 행과 열의 개수를 설정한 후, 2차원 동적 배열을 생성하였습니다. len
함수를 사용하여 배열의 크기를 출력하고, 두 개의 for
반복문을 사용하여 배열의 원소를 출력하였습니다.
마무리
동적 배열은 크기를 동적으로 조정할 수 있는 배열로, 원소를 추가하거나 삭제할 때 마다 배열의 크기를 조정할 수 있습니다. 1차원 동적 배열은 한 개의 인덱스로 구성되며, 2차원 동적 배열은 행과 열로 구성됩니다. 위에서 설명한 예시 코드를 참고하여 동적 배열을 생성하고 활용할 수 있습니다.
댓글