vector 안의 최소 값을 탐색하는 방법에 대해 연구하다가 min_element 함수를 알게 되었다.
ForwardIterator min_element( ForwardIterator first, ForwardIterator last );
- 최소값을 가리키는 iterator를 반환한다.
- 만약 주어진 범위가 비어 있다면, last 값을 반환한다.
- <algorithm> 헤더에 정의되어있다.
ForwardIterator max_element( ForwardIterator first, ForwardIterator last );
- 반대로 최대 값을 가리키는 iterator를 반환하는 함수
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
if(arr.size() == 1) // arr의 크기가 1이라면 [-1]을 리턴
{
return {-1};
}
auto MinIterator = min_element(arr.begin(), arr.end()); // 벡터 내의 최소값을 가지는 Iterator 반환
if(MinIterator != arr.end()) // 최소 값이 존재하는지 확인
{
arr.erase(MinIterator); // 존재하는 최소 값 삭제
}
return arr;
}
'공부 > Code Cata' 카테고리의 다른 글
Quick Sort (0) | 2024.12.23 |
---|---|
std::sqrt (0) | 2024.12.22 |
약수의 개수가 홀수인가? (0) | 2024.12.22 |
std::inner_product(내적 계산) (0) | 2024.12.22 |
std::string::substr (0) | 2024.12.18 |