제일 작은 수 제거하기 : 문제 링크
- arr은 길이 1 이상인 배열이다.
- 인덱스 i, j에 대해 i != j이면 arr[i] != arr[j] 이다.
algorithm 헤더의 min_element() 함수 사용법
*min_element(v.begin(), v.end());
- 벡터 v에서 최소값을 return
min_element(v.begin(), v.end()) - v.begin();- 벡터 v에서 최소값의 인덱스를 return
vector의 erase() 함수 사용법
v.erase(firse, last); // first 이상, last 미만의 범위의 원소를 삭제
v.erase(삭제하려는 값의 위치);
- erase() 함수를 통해 vector의 특정 값을 삭제할 경우, 해당 값이 삭제 되고 그만큼 vector의 size가 줄어듬
empty() 함수 사용법
str.empty();
v.empty();
- string 또는 vector 객체가 비어있으면 1을, 문자열 또는 원소가 저장되어 있으면 0을 반환
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
arr.erase(min_element(arr.begin(), arr.end()));
if(arr.empty()) arr.push_back(-1);
return arr;
}