본문 바로가기

Algorithm/Implementation

(C++) - 프로그래머스(연습문제) : 제일 작은 수 제거하기

반응형

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

 

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

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

programmers.co.kr

erase를 사용해보는 자료구조 문제였습니다.

 

Code

#include <bits/stdc++.h>
using namespace std;

vector<int> solution(vector<int> arr) {
    auto it = arr.begin();
    int mini = 0x3f3f3f3f;
    for(auto a = arr.begin(); a!=arr.end(); a++){
        if(mini > *a) {
            mini = *a;
            it = a;
        }
    }
    arr.erase(it);
    if(!arr.size()) arr.push_back(-1);
    return arr;
}