Modern C++/Algorithm 2

[C++] 유용한 <Algorithm> 함수들 (1) (정렬, 파티셔닝, 탐색, 숫자)

해당 게시글에선 C++에서 제공하는 Algorithm 함수 중 유용하다가 생각되는 것만 모아서 정리한 것이다.더 많은 내용을 살펴보려면 cppReference.com을 방문해서 탐색해 보는 것을 추천한다. 1. 선수학습 내용 알고리즘 함수를 다루기 이전엔 반드시 다음 사항을 미리 학습해야 한다.   1) Iterator   Algorithm 함수들의 경우, 컨테이너 내부의 특정 범위의 요소에 대해서 다양한 기능을 제공하기 때문에, 이와 관련된 개념을 숙지해야 할 필요가 있다.    2) Predicate Algorithm 함수들의 기능을 제대로 활용하기 위해선 (Ex std::sort의 정렬 기준을 바꾼다.) Predicate를 직접 작성해야 할 필요가 있다. 이와 관련되어 다룬 게시글이 있으니 한 번 ..

[C++11 ~] Predicate와 Functor 그리고 Lamda Expression

C++ 언어를 활용해 코딩 테스트 문제를 풀거나 프로젝트를 진행하는 과정에서 유용한 기능을 얻기 위해 헤더를활용해야 하는 상황이 자주 발생한다. 이때 이 함수들을 효과적으로 활용하기 위해선 Predicate에 관해 제대로 알고 넘어가야 한다.  오늘은 이 Predicate에 관한 내용과 Predicate를 구현하기 위한 다양한 방법인 Functor 와 Lamda에 관해 자세하게 다뤄볼 것이다.0. Predicate Predicate라는게 뭘까?라는 질문을 받는다면, 나는 간단하게 한 문장으로 표현할 것이다.어떠한 조건을 판별하는 함수처럼 동작하는 것들. "함수 처럼 동작하는 것들"라고 다소 추상적으로 표현했는데, 그 이유는 Predicate를 작성할 때 Fuctor, Lamda, 함수 정의 등 다양한 ..