* Cpp STL max_element, min_element의 사용법과distance method를 사용해 벡터 내부의 최대/최소 원소의 인덱스를 구하는 방법에 대해 소개합니다.#max_element / min element usage max_element(vector_name.begin(), vector_name.end())min_element(vector_name.begin(), vector_name.end()) Header에 선언되어 있다. 벡터 내부의 최대/최소 원소의 첫 번째 위치를 "이터레이터" 형태로 반환한다. 반환타입이 "값"이 아닌 "이터레이터" 이기에 * 연산자를 사용해 값에 접근해야 한다. #include #include #include using namespace std;int ..
알고리즘 문제를 풀이하다 보면 가장 큰 값을 초기화해야 한다던지가장 작은 값을 초기화해야 하는 케이스가 빈번하게 발생한다. 그럴 때마다 문제에서 제시해 준 조건으로 나올 수 있는 최대 최소를 계산했는데, climits 내부의 LLONG_MAX, LLONG_MIN을 활용하면 간편하게 계산할 수 있어 정리해 보고자 한다. #include #include using namespace std;int main() { cout LLONG_MAX : 9223372036854775807LLONG_MIN : -9223372036854775808Program ended with exit code: 0 LLONG_MAX의 경우 64bit long long 정수형의 최댓값인 2^63−1 (9223372036854775..
Cpp STL의 2차원 벡터를 생성하는 방법에 대해 정리한 문서입니다.개인적인 공부 내용을 정리하는 용도로 작성한 글이기에 잘못된 내용을 포함하고 있을 수 있습니다. 2차원 벡터를 선언하는 방법은 크게 2가지로 구분됩니다.Case1. 벡터 내부에 벡터를 선언하여 2차원 벡터를 생성하는 방식Case2. 1차원 벡터 배열을 사용해 2차원 벡터처럼 사용하는 방식 1번째 케이스는 Row, Column이 모두 동적인 벡터로 벡터 안에 백터가 들어가 있는 형태입니다. 반면 2번째 케이스는 Row는 정적이지만 Column은 동적인 벡터로 1차원 벡터를 배열 형태로 선언하여실제로는 1차원 벡터이지만 2차원 벡터와 같이 사용 가능합니다. 주로 그래프 관련 알고리즘 문제를 풀이할때 인접리스트를 정의할때 2번 방식을 자주 ..
*C++ STL Algorithm 헤더의 fill 메서드 사용 방법에 대해 다룬 포스팅입니다.*개인적인 공부 내용을 기록하기 위해 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.#fill void fill (ForwardIterator first, ForwoardIterator last, const T& value);Header - 지정 범위의 요소들을 "타입에 맞는 값" 으로 채워준다. int type 배열이라면 int 타입에 맞는 값으로 각 요소를 설정하며, 이터레이터를 지원하기에 vector, array와 같은 다른 STL 컨테이너에서 사용 가능하다. #배열에서 fill 함수를 사용한 예제#include #include using namespace std;int main() { ..
* STL 내부의 이진탐색 관련 메서드 사용법에 관해 정리한 글 입니다.→About Binary Search#1binary_search method#include bool binary_search(first, last, value); parameter Infofirst : 탐색 시작 위치 (시작 이터레이터) * 배열의 경우 시작 주소 last : 탐색 종료 위치 (종료 이터레이터) * 배열의 경우 마지막 주소value : 탐색 타깃 데이터 ▶ first ~ last 범위 내부에 타깃 데이터 (value) 가 존재하는지 O(LogN) 시간 복잡도로 탐색한다. ▶ 만약 타깃 데이터가 존재한다면 true를 반환하고, 타깃 데이터가 존재하지 않는다면 false를 반환한다.▶ 단, 원소가 정렬된 상태에서만 탐색..