프로그래머스 - 제일 작은 수 제거하기(Lv1)

108번뇌·2020년 10월 3일
0

#include <vector>
#include <algorithm>

using namespace std;
bool Cmp (int a, int b)
{
    return a>b;
}

vector<int> solution(vector<int> arr) {
    vector<int> answer;
    int Min=arr[0];
    int Size=arr.size();
    
    if(Size==1)
    {
        answer.push_back(-1);
        return answer;
    }
    else
    {
       for(int i=0; i<Size; i++)
       {
      	  if(Min>arr[i])
      	  {
            Min=arr[i];
       	  }
       }
       for(int i=0; i<Size; i++)
       {
            if(Min==arr[i])
            {
            arr.erase(arr.begin()+i);
            }
       }
       for(int i=0; i<Size-1; i++)
       {
          answer.push_back(arr[i]);
       } 
    }
  return answer;
}
  1. 제일 작은거 위치시킬 때.
    if(Min>arr[i])
    {
    Min=arr[i];
    }
  2. arr.erase(arr.begin()+i);
    벡터에서 erase함수 쓸 때 익히기.

https://hydroponicglass.tistory.com/170 : min_element / max_element
arr.erase(min_element(arr.begin(), arr.end()));
std에 min_element / max_element 가 있음. 이렇게 활용할수도 있음

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글