250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++)제일 작은 수 제거하기 본문
728x90
반응형
arr 배열에서 가장 작은 수를 찾아서 제거한 후 그대로 리턴해주면 된다..!
우선 arr의 size가 1이면 answer에 -1을 넣어 그대로 리턴해준다..!
(size가 1인 경우 가장 작은 수를 제거한 후 빈 배열이 되기 때문에..)
size가 1이 아니면 erase함수를 이용하여 가장 작은 수를 찾아 제거한다.
erase함수는 vector에서 사용하는 함수로, 해당 반복자(iterator)를 제거해주는 함수이다..!
본인은 min_element 함수를 사용하여 arr 배열서 가장 작은 수의 iterator를 받아와 제거하였다.
->min_element(arr.begin(), arr.end() = arr.begin()에서 arr.end()까지 가장 작은 수의 위치(반복자) 리턴..!
다른 예로는 max_element가 있다..! 이 두 함수도 종종 쓰이는 것 같으니 알아두면 좋은 함수이다..!
그 후 answer에 arr을 대입..! 리턴하면 끄으읏..!
사실 arr을 리턴해줘도 상관이 없다..!
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
if(arr.size() == 1)
{
answer.push_back(-1);
return answer;
}
arr.erase(min_element(arr.begin(), arr.end()));
answer = arr;
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > 1단계' 카테고리의 다른 글
(프로그래머스 c++)최대 공약수와 최소 공배수 (0) | 2020.04.28 |
---|---|
(프로그래머스 c++)짝수와 홀수 (0) | 2020.04.28 |
(프로그래머스 c++)정수 제곱근 판별 (0) | 2020.04.28 |
(프로그래머스 c++)정수 내림차순으로 배치하기 (0) | 2020.04.27 |
(프로그래머스 c++)자연수 뒤집어 배열로 만들기 (0) | 2020.04.27 |