제일 작은 수 제거하기

NJW·2021년 8월 16일
0

코테

목록 보기
49/170

들어가는 말

받은 배열 중, 가장 작은 수를 제거한 베열을 출력하는 방식이다. 나는 for문으로 제일 작은 수를 찾고 작은 수를 빼는 방식을 사용하였다. 문제를 풀고 찾아보니 배열의 최소값을 찾는 함수가 있단 걸 발견...

코드 설명

첫 for문은 최소 값을 찾는 거고 두 번째 for문은 최소 값을 제외한 배열을 answer에 집어넣는 것이다. 최소값이 들어간 인덱스가 나오면 삽압하지 않고 지나가도록 continue를 사용했다. 마지막 if문은 만일 배열에 아무것도 없을 경우 -1넣어주는 것이다.

코드

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> arr) {
    
    int min = arr[0];
    int k = 0;
    vector<int> answer;
    
    for(int i = 0; i < arr.size(); i++){
        if(arr[i] < min){
            min = arr[i];
            k = i;
        }
    }
    
    
    for(int j = 0; j < arr.size(); j++){
        if(j == k){
            continue;
        }
        answer.push_back(arr[j]);
    }
    
    if(answer.empty()){
        answer.push_back(-1);
    }
    
    return answer;
}

P.s

슬슬 당 떨어진다...

profile
https://jiwonna52.tistory.com/

0개의 댓글