최소값과 최대값을 반환해주는 함수 min()과 max()가 존재한다.
이 함수를 사용하기 위해선 3가지 유의할 점이 있는데
1. 이 함수는 algorithm 헤더 파일에 들어있기 때문에 #include <algorithm>을 선언해줘야 한다
2. using namespace std;를 선언해줘야 한다.
3. 함수명과 같은 변수 (ex: min, max)를 같이 사용해선 안된다.
위 3가지만 지켜주면 파라미터로 넣은 두 수 중 작고 큰 값을 함수 한방에 알아낼 수 있다.
만약 배열에서 최대 최소를 구하고 싶은 경우에는 다음과 같은 방법을 활용하면 된다.
max_element()와 min_element() 가 그 예시이다.
대신 유의할 점이 있는데
1. 이 역시 algorithm 헤더에 있는 함수라 #include <algorithm>을 반드시 선언해줘야 한다.
2. max(), min()과 동일하게 using namespace std;도 선언해줘야한다.
3. 가장 중요한 점인데 이 함수는 값을 리턴하지 않고 주소값을 반환해준다!
따라서 값을 참조하려면 * 연산자를 반드시 사용해줘야 한다!
이를 이용한 문제는 다음과 같다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
int N;
cin >> N;
int data_list[N];
for(int i = 0; i < N; i++){
int value;
cin >> value;
data_list[i] = value;
}
int min_value = * min_element(data_list, data_list + N);
int max_value = * max_element(data_list, data_list + N);
cout << min_value << " "<< max_value << "\n";
return 0;
}