vector<int> solution(vector<int> arr) {
if (arr.size() == 1) return {-1};
int minIndex = 0;
for (int i = 1; i < arr.size(); i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
vector<int> answer;
for (int i = 0; i < arr.size(); i++) {
if (i != minIndex) {
answer.push_back(arr[i]);
}
}
return answer;
}
1️⃣ 원소가 하나만 있을 땐 [-1] 리턴하기
if (arr.size() == 1) return {-1};
arr.size() == 1 체크
배열에 원소가 1개 → 제거하면 빈 벡터가 됨
그럴 땐 [-1] 하나만 담긴 벡터를 리턴해야 함
return {-1};
{-1} == vector{-1}
-1 하나만 담긴 벡터를 리턴하는 문법
-1 자체를 리턴하는 게 아니라, [-1] 벡터 전체를 리턴함
2️⃣ 가장 작은 값의 인덱스 찾기
int minIndex = 0;
for (int i = 1; i < arr.size(); i++)
{
if (arr[i] < arr[minIndex])
{
minIndex = i;
}
}
처음엔 0번 인덱스가 제일 작다고 가정함
그리고 나머지 원소들과 비교하면서 더 작은 값이 있으면 인덱스를 갱신함
3️⃣ 가장 작은 값 제외한 새 벡터 만들기
vector<int> answer;
for (int i = 0; i < arr.size(); i++)
{
if (i != minIndex)
{
answer.push_back(arr[i]);
}
}