목록전체 글 (14)
개발세리의 성장기🌿
0. #include //vector #include //pair #include //sorting 1. 선언 vector > meeting; 2. 할당 meeting.resize(N); for (int i = 0; i < N; i++) { meeting[i] = make_pair(0, 1); } 3. 사용 meeing[i] == meeting[i].first == 0 meeting[i].second == 1 4. 정렬 이후에 링킹
그리디를 공부하면서 1. 극단적인 기준으로 접근하는 그리디 알고리즘은 정렬과 함께 쓰이는 경우가 많다. 2. 극단적인 기준으로 당장 눈 앞에 보이는 것에 대해서만 판단하므로, 눈 앞에 보이는 순서가 중요하다. 즉 정렬이 중요한데, 정렬을 여러 기준으로 여러 번 해서, 정확도를 높여주어야한다. ex> boj1931에서의 compare1과 compare2는 아래 테스트 케이스를 고려한 것이다. 3 1 2 3 3 2 3 3. 예외 케이스에 대해 이해하고 있어야하므로, 문제를 존나 열심히 꼼꼼히 읽어야한다. 4. 보통 문제에 최댓값, 최솟값, 최대 길이, 최대 가능 인원&수업&회의 등등의 키워드가 출현한다.
1. 선언과 메모리 할당을 분리 vector G; G.resize(v + 1); 2. 선언과 메모리 할당은 같이 vector G(v+1); 3. 2차원 벡터 (선언과 메모리 할당을 분리) vector G; G.resize(v + 1, vector(e + 1)); 4. 2차원 벡터 ("벡터을 원소로 가지는 벡터"의 크기까지만 할당해줌/ G[10][] 까지만 한 상태) vector G; G.reserve(10); 5. 벡터의 크기를 재할당 해줌 G.resize(20); 6. 벡터의 크기와 내용을 초기화 하는 법 (같은 이름으로 내용을 덮어 쓰는 것 임) vector visited; visited = vector (N+1, false); + 참고한 벡터 예제 https://canna90.tistory.com/41
0. 표준 라이브러리 #include #include C/Cpp 프로그래밍을 할 때, 입출력이나 메모리 할당 등등의 기능들을 ex) malloc(), printf(), scanf() 직접 구현하지 않고 사용할 수 있게 해주는 표준 라이브러리이다. 1. STL standard "TEMPLATE" library 표준 "템플릿" 라이브러리 -프로그래밍에서 공통적으로 사용되는 자료구조와 알고리즘을 작성한 것이다. -cpp에서 제공하는 표준 "템플릿" 라이브러리이다. 일종의 자료형이 지정되지 않은 클래스, 즉 템플릿이라는 틀을 제공하여 사용자가 원하는 자료형으로 만들어 쓸 수 있다. 더 비유적으로 템플릿은 "클래스를 만드는 클래스"라고 이해할 수 있다. ex) cpp 제공 컨테이너 + 사용자 정의 = 사용자가 정..
*그래프의 모든 정점들을 특정한 순서에 따라 방문하는 알고리즘 == 그래프의 탐색 알고리즘 ex> DFS, BFS *여기서 '탐색'의 의미는 find가 아니라 search에 가깝다. 즉, 특정 정점을 찾거나, 특정 경로를 찾는 것이 아니라, "모든 정점들을 정해진 순서로 둘러보는 것"에 가깝다는 의미이다. 1. DFS를 구현할 때의 고려사항 (선택지) 그래프의 표현 방법: 인접 행렬 or 인접 리스트 or 좌표 DFS 구현 방법: 스택 or 재귀 2. 구현 방법
*그래프를 표현(구현)한다 == 모든 정점을 기록하고, 두 정점간의 관계(간선)을 기록하여 저장한다. *V는 정점을 의미한다. 1. 인접 행렬 표현 -구현 방법 n개의 V에 대하여, n*n 이차원 배열에 두 정점간의 관계(간선)를 표현한다. 배열의 인덱스엔 두 정점이 들어가고, 배열의 내용엔 간선에 대한 정보가 들어간다. //1. 동적으로 인접 행렬을 구현할 때 (메모리 제약이 있을 때) //n은 정점의 개수 int n; scanf("%d", &n); //a는 간선을 인접 행렬 방법으로 표현하기 위한 이차원 배열 int** a; //정점의 이름대로 배열에 접근하기 위해서 n+1개의 공간을 할당 받는다. a = (int**)malloc(sizeof(int*) * (n + 1)); for (int i = 0..