본문 바로가기
  • Masacorgi 's Dev Bloggg

알고리즘/Basic C++7

Basic C++, Data Structures, Vector & Array & List Basic C++, Data Structures(Vector & Array & List)알고리즘 풀이에 사용되는 다양한 C++의 자료구조 중 Vector, Array, List를 공부하고 정리한 자료입니다.indexBasic C++, Data Structures(Vector & Array & List)1. Vector1.1. push_back()1.2. pop_back()1.3. erase()1.4. find(from, to, value)1.5. clear()1.6. fill(from, to, value)1.7. 범위기반 for loop1.8. vector 정적할당1.9. vector의 2차원 배열2. Array2.1. 2차원 배열과 탐색3. List3.1 싱글 연결리스트3.2 이중 연결리스트3.3 원형.. 2025. 1. 1.
Basic C++ : Methods Basic C++, Methods알고리즘 풀이에 사용되는 다양한 C++의 함수를 공부하고 정리한 자료입니다. index Basic C++, Methods1. fill( ), memset( )1.1 fil( )1.2 memset( )1.3 {, }2. memcpy( ), copy( )2.1 Shallow Clone & Deep Clone2.2 memcpy( ) - 깊은복사 - Array2.3 copy( ) - 깊은복사 - Array, Vector3. sort( )3.1 커스텀 비교함수 만들기 CMP4. stable_sort( )5. unique( )5.1 erase()와 unique() 조합5.2 sort()와 unique() 조합6. lower_bound( ), upper_bound( )7. ac.. 2024. 12. 20.
Basic C++ : Memory & Pointer Basic C++, Memory & Pointer메모리, 포인터, 이터레이터 등을 공부하고 정리한 자료입니다. indexMemoryPointerDereference Operator *, 역참조연산자Array to Pointer Decay프로세스 메모리 구조와 정적/동적 할당Iterator1. Memoryint i;cout  2. Pointer변수의 메모리 '주소'를 담는 타입이 포인터이다.포인터의 크기는 OS에 따라 고정된다. 32비트면 32비트(4바이트), 64비트면 64비트(8바이트).int i;int * i_pointer = &i; // int i의 주소를 담았다. 3. dereference operator *, 역참조연산자*는 포인터타입의 선언, 역참조, 곱하기(이항연산자)까지 세개의 용도로 사용.. 2024. 12. 19.
Basic C++ : split() C++은 STL에서 split() 함수를 지원하지 않기때문에 만들어서 써야한다.vector split(const string& input, string delimiter){ vector result; auto start = 0; // 시작위치 auto end = input.find(delimiter); // 첫번째 구분자 위치 while(end != string::npos){ result.push_back(input.substr(start, end - start)); //result에 substring으로 시작위치부터 end위치(구분자 전)까지 잘라서 넣음 start = end + delimiter.size(); // start.. 2024. 12. 17.
Basic C++ : unsync with stdio #include using namespace std;int main(){ ios::sync_with_stdio(false); // C의 printf,scanf과 C++의 iostream(cin, cout ..)의 동기화를 해제하고, c++ 의 입출력 스트림만 사용하겠다고 명시하는것. 속도가 빨라짐. 하지만 사용시 C스타일 입출력을 섞어쓰면 출력 순서가 보장되지 않는다. cin.tie(NULL); // cin과 cout은 기본적으로 연결(tie) 되어있어 cin을 사용하면 자동으로 cout이 flush되어 출력버퍼를 비운다. 디버깅이 편하지만 끊으면 cin후 cout을 하지 않아 성능이 좋아짐. cout.tie(NULL);// cout은 다른 스트림과 연결되있지 않아서 할필요.. 2024. 12. 17.
Basic C++ : Types Basic C++, Types여러 자료형과 pair, tuple 그리고 형변환을 공부한 자료 정리입니다. index charstringboolintlong longdoublepair & tupleautotype casting변수든 메소드든 항상 사용되는 코드 이전에 선언되어있어야 한다.인자만 선언해놓고 아래쪽에 정의하는 방식도 사용가능하지만 알고리즘 코딩은 시간싸움이므로 한방에 선언과 정의를 하는것이 좋다. 1. charchar : 'a', 1바이트 char a = NULL; char b = '\0'; char c = 0; 모두 널 문자로 초기화한다. 널은 문자열의 끝을 가리키는 문자이며, 아스키값이 0이기 때문에 숫자 0으로 문자변수를 초기화해도 널문자로 변환된다. .. 2024. 12. 14.
Basic C++ : Input & Output Basic C++, Input & OutputindexBase 기본Input 입력Output 출력1. Base 기본Header, namespace#include // C++의 모든 표준 라이브러리가 포함된 헤더파일using namespace std;// 많은 라이브러리를 불러서 사용하다보면 발생하는 변수명 중복을 막기 위해 변수명에 걸어놓는 범위. // cin, cout을 사용할때 std라는 namespace를 사용해 std::cin 이렇게 사용해야 하나 std를 기본 namespace로 설정해 그냥 cin, cout으로 호출할 수 있게함string a;// 문자열 변수 a 선언int main(){cin >> a;// 변수 a 입력. 입력함수로는 cin, scanf 있음cout 는 거의 모든 c++ 표.. 2024. 12. 12.