본문 바로가기
카테고리 없음

동적 배열 생성하기 (1차원, 2차원)

by kangs' tong 2023. 12. 11.

동적 배열이란?

동적 배열은 크기를 동적으로 조정할 수 있는 배열입니다. 배열은 원소의 개수를 미리 지정하여 생성하는 정적 배열과 달리, 동적 배열은 원소를 추가하거나 삭제할 때마다 배열의 크기를 조정할 수 있습니다.

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()

위 코드에서는 rowscols 변수를 사용하여 행과 열의 개수를 설정한 후, 2차원 동적 배열을 생성하였습니다. len 함수를 사용하여 배열의 크기를 출력하고, 두 개의 for 반복문을 사용하여 배열의 원소를 출력하였습니다.

마무리

동적 배열은 크기를 동적으로 조정할 수 있는 배열로, 원소를 추가하거나 삭제할 때 마다 배열의 크기를 조정할 수 있습니다. 1차원 동적 배열은 한 개의 인덱스로 구성되며, 2차원 동적 배열은 행과 열로 구성됩니다. 위에서 설명한 예시 코드를 참고하여 동적 배열을 생성하고 활용할 수 있습니다.

댓글