본문 바로가기
프로그래밍 언어/C++

[STL] 코딩테스트에 자주 쓰이는 C++ 헤더와 함수 정리

by fortissimo 2024. 2. 22.

 

헤더 함수 설명
<algorithm> sort() 정렬. 시간 복잡도는 O(n*logn).
binary_search() 이분 탐색. 해당 값이 있으면 true, 없으면 false를 반환한다.
lower_bound() 찾는 값과 첫번째로 같거나 큰 원소가 가리키는 iterator를 반환한다.
upper_bound() 찾는 값보다 첫번째로 큰 원소가 가리키는 iterator를 반환한다.
min() 두 개 중 작은 값 반환. {} 안에 여러 개를 넣어 비교 가능하다.
max() 두 개 중 큰 값 반환. {} 안에 여러 개를 넣어 비교 가능하다.
reverse() 문자열을 뒤집는다.
find() 배열, 리스트, 벡터 등에서 해당 값을 찾아 iterator를 반환한다.
없을 경우 리스트나 벡터에서는 end()를 반환한다.
배열에서는 배열의 끝(배열+배열의 길이) 다음을 가리키는 값을 반환한다.
next_permutation() 주어진 순열을 다음 차례의 순열로 바꾼다.
prev_permutaion() 주어진 순열을 이전 차례의 순열로 바꾼다.
<cmath> sqrt() 해당 값의 제곱근을 반환한다.
pow() n제곱을 구해 반환한다. 인자가 double 타입이기 때문에 거듭제곱을 계속할 경우 오차가 발생할 수 있기 때문에 직접 반복문을 돌려 구현하는 것이 좋다.
abs() 해당 값의 절댓값을 반환한다.
ceil() float 타입이나 double 타입의 인자를 받아 올림한다.
ceil()함수 하나만 사용하면 소수 첫째자리에서 올림하며, 특정 자리까지 출력하고 싶다면
cout << fixed;
cout.precision(원하는 자리 수);
를 이용한다.
floor() float 타입이나 double 타입의 인자를 받아 내림한다.
floor()함수만 사용 시 마찬가지로 소수 첫째 자리에서 내림한다.
round() float 타입이나 double 타입의 인자를 받아 반올림한다.
floor()함수만 사용 시 마찬가지로 소수 첫째 자리에서 내림한다.
<string> stoi() 문자열을 int 타입의 숫자로 반환한다.
to_string() 숫자를 문자열로 반환한다.
find(string str) 인자 str이 나타나는 첫번째 위치를 반환한다. 찾지 못할 경우 string:npos를 반환한다.
substr(int idx, int length) idx부터 길이 length만큼 잘라 반환한다.
문자열 길이보다 긴 경우 문자열 마지막까지 자른다.
인자 하나만 전달하면 idx부터 끝까지 반환한다.
인자가 전달되지 않으면 문자열 그대로 반환한다.

 

 

'프로그래밍 언어 > C++' 카테고리의 다른 글

[STL] C++ list(리스트) 간단 정리  (0) 2024.02.16
[STL] C++ vector(벡터) 간단 정리  (0) 2024.02.09