https://programmers.co.kr/learn/courses/30/lessons/12935

코딩테스트 연습 - 제일 작은 수 제거하기

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1

programmers.co.kr

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <string>
#include <vector>
 
using namespace std;
 
vector<int> solution(vector<int> arr) {
    int minimum = arr[0];
    int idx = 0;
    if (arr[1== NULL)
    {
        arr[0= -1;
        return arr;
    }
    for (int i = 0; i < arr.size(); i++)
    {
        if (minimum > arr[i])
        {
            minimum = arr[i];
            idx = i;
        }
    }
    arr.erase(arr.begin() + idx);
    return arr;
}

 

1.벡터가 한개밖에 없는 지 검사하고, 한개밖에 없다면 -1 을 넣은뒤 리턴한다.

 

2.모든 벡터를 검사하고, 최소값과 최소값이 든 벡터의 인덱스를 저장한다.

 

3.최소값이 든 벡터의 인덱스로 erase한다.

+ Recent posts