본문 바로가기
C++ 알고리즘/풀다가 알게된 것

벡터에서 최소/최대값 인덱스를 가져오려면?

by hoshi03 2024. 10. 15.

min,max 메서드로 최대,최소 값 구하는건 많이 햇으니

 

max_element나 min_element로 해당 값의 iterator를 가져오고 - begin을 해주면 해당 인덱스를 가져온다

            int max_idx = max_element(arr.begin(), arr.end()) - arr.begin();
            int min_idx = min_element(arr.begin(), arr.end()) - arr.begin();

 

값을 출력하려면 *max_element(arr.begin(), arr.end()) 형태로 값을 가져오거나 

        int a = arr[max_element(arr.begin(), arr.end()) - arr.begin()];
        int b = arr[min_element(arr.begin(), arr.end()) - arr.begin()];

 

이런식으로 가져올 수 있다!