알고리즘

알고리즘/C++

0주차: 재귀, 순열, 조합, split

출처: https://www.inflearn.com/course/10%EC%A3%BC%EC%99%84%EC%84%B1-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%81%B0%EB%8F%8C 10주완성 C++ 코딩테스트 | 알고리즘 IT취업 - 인프런 | 강의 네이버, 카카오, 삼성의 코딩테스트를 합격시켰다! 10주 완성 C++ 코딩테스트 강의!, - 강의 소개 | 인프런... www.inflearn.com 수업들으면서 정리한 글입니다. 헤더 파일 string,vector,array 등등 자주 쓰이는 라이브러리들이 한번에 컴파일된다. C++ #include 헤더 사용하기 재귀함수 재귀함수(Recursion)는 정의 단계에서 자신을 재참조하는 함수 전달되는 상태인..

알고리즘/C++

std::deque(덱)

std::deque(덱) push_front, pop_front, push_back, pop_back동작이 O(1) 시간 복잡도로 동작 모든 원소에 대해 임의 접근 동작이 O(1) 시간 복잡도로 동작 덱 중간에서 원소 삽입 또는 삭제는 O(n) 시간 복잡도로 동작, 실제로는 최대 n/2 → 양방향으로 빠르게 확장할 수 있다, 모든 원소에 임의 접근 제공 덱은 벡터와 리스트에서 제공되는 함수를 조합한 것 이상의 기능을 제공한다. #include #include using namespace std; int main() { deque deq = { 1,2,3,4,5 }; deq.push_front(0); //맨 앞 원소 추가 {0,1,2,3,4,5} deq.push_back(6); //맨 뒤 원소 추가 {0,..

알고리즘/C++

std::list

이중 연결 리스트로 구현 std::forward_list(단일 연결 리스트) 보다 더 많은 기능을 제공한다. (맨 뒤에 새로운 데이터 추가, 컨테이너 크기 얻기) #include #include using namespace std; int main() { list list1 = { 1,2,3,4,5 }; list1.push_back(6); //{1,2,3,4,5,6} //처음 다음 원소(두번째 원소에) 0 삽입 list1.insert(next(list1.begin()), 0); //{1,0,2,3,4,5,6} list1.insert(list1.end(), 7); //{1,0,2,3,4,5,6,7} //원소 제거 list1.pop_back(); //맨 뒤 원소 제거 {1,0,2,3,4,5,6} //출력 f..

알고리즘/C++

std::vector

std::vector array에 비교하여 가변 크기의 데이터를 처리할 수 있는 컨테이너 초기화 과정에서 데이터의 크기를 제공하지 않아도 된다. #include #include using namespace std; int main() { //벡터 초기화 vector v; vector v2 = { 1,2,3,4,5 }; vector v3(10); //크기 10인 벡터 선언 vector v4(10, 3); //크기 10이고 초기값 5인 벡터 선언 } 원소 추가 push_back(원소) insert(반복자, 원소) push_front() 지원 안함 #include #include using namespace std; int main() { vector v2; //원소 삽입 v2.push_back(1); v2...

알고리즘/C++

std::array

std::array 배열, 자동으로 메모리를 할당하고 해제해준다. Basic []연산자 → 배열 원소 빠른 접근, index값 유효 검사X at() 함수→ 느린 접근, index 값 유효 검사(에러 처리 가능) #include #include // 헤더 추가 using namespace std; int main() { // 배열 선언 array arr1 = { 1,2,3,4 }; array arr2; // 원소 접근 for (int i = 0;i < 4;i++) { cout

mint*
'알고리즘' 카테고리의 글 목록 (21 Page)