문제 풀기/C#

29.제일 작은 수 제거하기

kagan-draca 2025. 1. 17. 14:45

 

기본 틀 :

public class Solution {
    public int[] solution(int[] arr) {
        int[] answer = new int[] {};
        return answer;
    }
}

 

매개변수로 int 형 배열인 arr이 들어오고 있다. 또한, 반환형으로 int 형 배열을 반환해야한다.

 

따라서,

 

int min 이라는 변수를 선언해 int 형 자료형에서 가장 큰 값을 저장하고,

 

반복문을 통해 arr을 순회하면서 min 보다 가장 작은 값을 저장한다.

 

그 후,

 

arr.Where(element => element != min).ToArray()로

 

가장 작은 수를 제거한 int 형 배열을 받은 후

 

tempArrray.Length로 배열이 길이가 0일 경우 new int[] { -1}로 -1을 담은 배열을 생성과 동시에 반환하고,

 

배열의 길이가 0이 아닐 경우 tempArray를 그대로 반환한다.

 

using System;
using System.Linq;

public class Solution {
    public int[] solution(int[] arr) 
    {
        int min = Int32.MaxValue;
        for(int i = 0; i < arr.Length; i++)
            if(arr[i] < min) min = arr[i];
        
        int[] tempArray = arr.Where(element => element != min).ToArray();
        
        return tempArray.Length == 0 ? new int[] { -1 } : tempArray;
    }
}