C++(56)
-
brute force
brute force '무식하게 푼다(brute-force)'는 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 말합니다. 이렇게 가능한 방법을 전부 만들어 보는 알고리즘들을 가리켜 흔히 완전 탐색(exhaustive search)라고 부릅니다. + 프로그래밍 대회에서 대부분의 사람들이 가장 많이 하는 실수는 쉬운 문제를 어렵게 푸는 것입니다. 문제를 마주하면 가장 먼저 무식하게 풀 수 있는 지 생각 해보는 것도 좋은 방법입니다. 재귀호출과 완전 탐색 재귀 호출 (recursion) 재귀함수 (recursive funciton): 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼객 뒤 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수입니다..
2022.07.19 -
std::min, std::max, std::minmax
헤더를 include 한다. std::min, std::max, std::minmax 함수는 값 또는 이니셜라이저 리스트를 입력받아 결과를 리턴한다. std::minmax는 결과를 std::pair로 리턴한다. pair의 첫 번째 원소는 최솟값이고 두 번째 원소는 최댓값이다. > (m,M) std::min, std::max, std::minmax 함수를 간략히 정리하면 다음 표와 같다. 함수 설명 min(a,b) a와 b 중에서 최솟값을 리턴한다. min(a,b,comp) 프레디케이트 comp를 이용해 a와 b 중에서 최솟값을 찾아 리턴한다. min(이니셜라이저_리스트) 이니셜라이저 리스트에 있는 값 중에서 최솟값을 리턴한다. min(이니셜라이저_리스트, comp) 프레디케이트 comp를 이용해 이니셜 ..
2022.06.03 -
Circular Linked List
Circular Linked List 함수 void Add(int value) : value를 LinkedList에 삽입한다. void Delete(int value) : 해당 value를 delete한다. bool IsExist(int value) : 해당 value가 있는지 확인한다. bool IsEmpty() : LinkedList가 비었는가? void ShowLinkedList() : LinkedList를 출력한다. //main #include "CircularLinkedList.h" int main(void) { CircularLinkedList c1; c1.Add(1); c1.ShowLinkedList(); c1.Add(20); c1.ShowLinkedList(); c1.Add(30); c1...
2022.05.07 -
Singly Linked List
Singly Linked List 함수 int Get(int index) : 해당 인덱스의 값을 리턴한다. int IndexTail() : Tail의 인덱스 값을 리턴한다. void AddHead(int val) : Head에 값을 넣는다. void AddTail(int val) : Tail에 값을 넣는다. void AddIndex(int index, int val) : 해당 인덱스에 값을 넣는다. int DeleteIndex(int index) : 해당 인덱스의 값을 삭제한다. void ShowLinkedList() : List의 값을 Head부터 출력한다. #SinglyLinkedList.h struct Node { int Value; Node* Next; }; class SinglyLinkedLis..
2022.05.07 -
HEAP COURRUPTION DETECTED 에러
2022.04.28 - [C++] - C++ 배열에서 데이터를 초과하여 입력한다면? 나는 위의 경우 그대로 데이터에 접근이 가능했다. 하지만 배열에서 int * a = new int[10]; 이라고 선언하고 a[10]이나 a[11]과 같이 원래 할당한 공간의 영역인 10보다 더 큰 영역에 접근하려고 하면 런타임 에러가 발생한다고 한다.
2022.05.04 -
k번째 작은 수 찾기
정렬되지 않은 숫자들 중 k번째 작은 수 찾기 수열 [7, 2, 6, 3, 10, 5, 1, 8, 4, 9] 에서 4번째 작은 수를 찾는다. > 숫자 하나(Pivot)를 기준으로 작은 수는 왼쪽 큰 수는 오른쪽으로 위치시킨다. 5를 기준(피벗)이라고 하자. 업포인터와 다운포인터를 설정한다. 업포인터: 왼쪽 -> 오른쪽 이동 (7->2->6-> . . .) 다운포인터: 왼쪽
2022.05.03