비정기적으로 업데이트 합니다.
#include <algorithm>
unique(시작 주소, 종료 주소); - 중복제거
return 값 : 중복 제거하고 난 후의 끝 주소
주의 사항 : sort후 사용해야 올바르게 수행이 가능함!!
참고 자료
응용 : erase(unique(v.begin(), v.end()) , v.end());
--> erase함수를 이용하여 중복 된 항목들을 모두 지워 줄 수가 있다.
find(시작 주소, 종료 주소,값); - 값 찾기
return 값 :값이 있다면, 찾고자 하는 값의 주소 /값이 없다면, 종료 주소
주의 사항 : #include<string>의 find()와는 다르다.
참고 자료
min_element(시작 주소, 종료 주소); / max_element(시작 주소, 종료 주소);
: 최소 / 최대값 찾기return 값 : 가장 작거나/큰 값의 주소
주의 사항 : return값이 주소값이므로 값을 참조하고 싶다면 '*' 사용!!
참고 자료
reverse(시작 주소, 종료 주소); - 객체 순서 거꾸로 하기.
return 값 : 없음
transform( 시작 주소, 종료 주소, 시작 주소2, 규칙[함수]); - 변환시키기
return 값 : 가장 작거나/큰 값의 주소
시작 주소~ 종료 주소까지의 객체들을 규칙에 맞게 시작 주소2 부터 변환 시켜 저장하는 함수
- 응용 :transform(str.begin(), str.end(), str.begin(), ::toupper);
--> str이라는 이름의 문자열을 대문자로 바꾸는 함수
prev_permutation(시작 주소 , 종료 주소); - 이전순열 구하기
next_permutation(시작 주소 , 종료 주소); - 다음순열 구하기return 값 : 이전 / 다음 순열이 있다면, true, / 없다면, false
응용 : vector<int> v; v.sort(v.begin(), v.end()); do{ }while(next_permutation(v.begin(), v.end()));
--> 다음 순열이 없다면 false return하는 것을 이용하여 do~while문을 통하여 모든 경우의 수를 뽑아 볼 수 있다.
주의 사항 : next_permutation을 사용한다면 less로 prev_permutation을 사용한다면 greater로 정렬 후 사용해야 모든 경우의 수를 접근 할 수 있다.
#include <bitest>
2진법을 이용한 문제에 유용하게 사용 할 수 있는 라이브러리이다 함수는 많이 있으나, 주로 두가지를 자주 사용한다.
- to_string() : bitset 변수를 string으로 변환하여 return
- count() : 1의 개수 return
참고 자료
#include <numeric>
accumulate(시작 주소, 종료 주소, 초기 값); - 배열의 모든 합 구하기.
return 값 : 이전 / 다음 순열이 있다면, true, / 없다면, false
주의 사항 : 초기 값은 0 : int / OLL : long long
참고 자료
#include <cstdlib>
abs(int num); - 절댓값 구하기.
return 값 : num의 절댓 값 ( int )
주의 사항 : float, double 형은 다른 라이브러리에 선언이 되어 있습니다.
참고 자료
#include <cmath>
abs(double num); - 절댓값
return 값 : num의 절댓 값 ( double )
주의 사항 : int, long int 형은 다른 라이브러리에 선언이 되어 있다.
참고 자료
pow(double num, double n); - 제곱
return 값 : num의 n제곱 값
주의 사항 : pow(10,2); 과 같이 int형을 넣어도 자동 형변환으로 변환되어 들어간다.
참고 자료
sqrt(double num); - 루트값
return 값 : num의 루트 값 (double)
주의 사항 : sqrt(4); 와 같이 int형을 넣어도 자동 형변환으로 변환되어 들어간다.
참고 자료
#include <cctype>
주로 문자의 중류를 판단할때 많이 쓰고, is- , to- 의 형식이다.
- isalpha(알파벳이면 1), isdigit(숫자면 1)
- islower(소문자면 1), is upper(대문자면 1)
- toupper(대문자로 바꿔주는 함수) , tolower(소문자로 바꿔주는 함수)
참고 자료
참고자료
'CS 공부 > 알고리즘' 카테고리의 다른 글
해시(Hash) 란? (0) | 2021.09.07 |
---|---|
불안정 정렬 sort, 안정정력 stable_sort (0) | 2021.09.03 |
Greedy Algorithm (그리디 알고리즘, 탐욕법) 개념 정리 & 문제 추천 (0) | 2021.04.28 |