잡다한 지식
-
sort 함수 사용법잡다한 지식 2020. 3. 25. 13:53
Algorithm 헤더에 있는 sort 함수에 관하여 정리해보도록 하자. sort(배열의 시작점 주소, 배열의 마지막점 주소)- 개념 : sort(start, end) , start와 end 범위에 있는 요소들을 오름차순 정렬해주는 함수 퀵 정렬을 기준으로 함수가 구현되어 있어서, 시간 복잡도는 O(nlogn)이다.- 사용법 크기가 n인 배열 arr, 백터 vec이 있다고 할때sort(arr, arr +n);sort(vec.begin(), vec.end());sort(vec.begin(), vec.end(), cmp); → 비교함수 cmp를 만드는 경우sort(vec.begin(), vec.end(), greater()); → 내림차순 정렬을 사용하는 경우greater : 첫번째 인자가 두번째 인자보다 ..
-
next_permutaion 함수잡다한 지식 2020. 3. 18. 20:10
이전 포스팅에서 순열을 재귀적 방법을 통해 구현해보는 걸 올린적이 있는데.순열을 c++ 헤더에서 next_permutation이라는 함수를 통해 쉽게 구현하는 방식이 있어서 정리해보자 한다. 헤더를 추가한 후, next_permutation()함수에 백터의 iterator 혹은 주소를 넣으면 벡터에 다음 순열이 적용된다. bool next_permutation(수열의 시작, 수열의 끝) : 현재 나와 있는 수열에서 다음 순열을 구하고 true를 반환. 다음 순열이 없다면(다음에 나온 순열이 순서상 이전 순열보다 작다면) false를 반환. 코드를 통해서 자세히 알아보자. ([1,2,3,4,5] 수열에서 나올 수 있는 순열은?) 1234567891011121314151617181920212223242526..
-
순열과 조합잡다한 지식 2020. 3. 18. 19:49
백준 문제를 풀면서 stl을 사용하지 않고, 재귀적 방법으로 순열과 조합을 구현해서 문제를 풀어야하는 경우가 많았기에 정리해서 올려본다. 순열개념 : 서로 다른 n개의 원소에서 r개를 중복없이 골라 순서에 상관있게 나열하는 것 (nPr)예시 : [1, 2, 3, 4, 5] 5개의 원소 중에서 3개를 고르시요. 답) 맨 앞자리가 1일 경우 : [1,2,3], [1,2,4], [1,2,5], [1,3,2], [1,3,4], [1,3,5], [1,4,2], [1,4,3], [1,4,5], [1,5,2], [1,5,3], [1,5,4]맨 앞자리가 2일 경우 : [2,1,3], [2,1,4], [2,1,5], [2,3,1], [2,3,4], [2,3,5], [2,4,1], [2,4,3], [2,4,5], [2,5..
-
자료형잡다한 지식 2020. 3. 16. 20:08
문제를 풀다보면, int 자료형 혹은 float만 사용하는 것이 아닌데 일일히 찾아보기 힘들어서 정리해둔다. 자료형 자료형 크기 범위 char 1Byte, 8bit -128 ~ 127 short 2Byte, 16bit -32,768 ~ 32,767 unsigned short 0 ~ 65,535 int 4Byte, 32bit -2,147,483,648 ~ 2,147,483,647 unsigned int 0 ~ 4,294,967,295 long long 8Byte, 64bit -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 unsigned long long 0 ~ 18,446,744,073,709,551,615 bool 1Byte, 8bit True or F..