
동적 배열(Dynamic Array)이란?
int arr_name[]과 같은 정적인 배열과 달리 메모리 heap에 동적 할당되는 배열이다!
vector StL를 선언하여 사용하면 다양한 함수를 함께 사용할 수 있다!
크기를 동적으로 바꿀 수 있기 때문에 간단한 문제를 풀 때 사용하기 편리하다.
시간복잡도는 탐색 시 배열 내 원소를 모두 순회해야하기 때문에 O(n)이다.
삽입과 삭제의 경우도 마찬가지.
실행 결과

코드(c++)
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<int> v; // 동적 배열
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string command;
int a;
cin >> command;
if (command == "push_back") {
cin >> a;
v.push_back(a);
} else if (command == "get") {
cin >> a;
cout << v[a - 1] << endl;
} else if (command == "size") {
cout << v.size() << endl;
} else if (command == "pop_back") {
v.pop_back();
}
}
return 0;
}
코드 설명
벡터 연습을 해보기 위한 간단한 문제이다! 꼭 알아야할 함수들이니 기억해두기
- begin, end: 동적 배열의 시작과 끝 원소를 조회
- push_back A: 정수 A를 동적 배열의 맨 뒤에 넣는 연산
- pop_back: 맨 뒤에 있는 정수를 하나 삭제
- size: 동적 배열에 들어있는 정수의 개수를 출력
- get k: k번째 숫자를 출력
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
'PS' 카테고리의 다른 글
[백준] 1463번: 1로 만들기 (0) | 2024.09.13 |
---|---|
[백준] 1602번: 나는야 포켓몬 마스터 이다솜 (2) | 2024.09.10 |
[코드트리] 문자에 따른 명령 2 (0) | 2024.09.06 |
[코드트리] dx dy technique / 방향에 맞춰 이동 (0) | 2024.09.05 |
[코드트리 조별과제] 삽입 정렬 구현 (0) | 2024.08.18 |