👋 vector의 min, max값과 그 index를 구해보자! (TIL 231221)
vector의 최댓값, 최솟값을 구하고 싶을 때 for문을 이용하는 것도 가능하지만, 코드가 복잡해진다.
따라서 간단한 방법으로 algorithm 헤더에 포함되어 있는 max_element, min_element를 사용할 수 있다.
#include <algorithm>
#include <vector>
vector<int> v;
int max_value = *max_element(v.begin(), v.end());
int max_index = *max_element(v.begin(), v.end()) - v.begin();
int min_value = *min_element(v.begin(), v.end());
int min_index = *min_element(v.begin(), v.end()) - v.begin();
max_element, min_element 함수는 반복자를 반환한다.
따라서 값에 접근하고 싶다면 *를 사용해야 한다.
index에 접근하고 싶다면 반환값에서 v.begin()을 빼주어야 한다.
[내용 참고] https://notepad96.tistory.com/40