티스토리 뷰

C++

[Modern C++] vector argmin, argmax

developer0hye 2023. 1. 6. 00:00

argmin, argmax 가 필요할때가 있는데, C++ 에는 이런 함수가 공식적으로 없다.

 

대신 distance와 max_element, min_element를 사용하여 구현할수 있다.

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
    vector<int> v={0, -110, 2, 3, 4, 5, 6, 99};
    
    cout << "max value of v: " << *max_element(v.begin(), v.end()) << endl;
    cout << "min value of v: " << *min_element(v.begin(), v.end()) << endl;

    //argmax
    cout << "index of max value in v: " << distance(v.begin(), max_element(v.begin(), v.end())) << endl;
    
    //argmin
    cout << "index of min value in v: " << distance(v.begin(), min_element(v.begin(), v.end())) << endl;

    return 0;
}

max value of v: 99
min value of v: -110

index of max value in v: 7
index of min value in v: 1

 

 

아래 백준 문제를 푸는데 사용됐다.

 

https://www.acmicpc.net/source/53584763

 

로그인

 

www.acmicpc.net

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함