LeetCode - 2733. Neither Minimum nor Maximum

henu·2023년 10월 11일
0

LeetCode

목록 보기
110/186

Solution

var findNonMinOrMax = function(nums) {
    return nums.sort((a,b) => a-b).length <= 2 ? -1 : nums[1]  
};

Explanation

수로만 이루어진 배열에서 최솟값도 아니고 최댓값도 아닌 수를 리턴하는 문제이다. 조건을 만족하는 수가 여러 개일 경우 하나만 리턴하면 된다.
일단 최솟값과 최댓값을 알기 위해서 배열을 오름차순으로 정렬한다. 그러면 첫 번째 요소는 최솟값이 되고 마지막 요소는 최댓값이 되게된다. 즉, 첫 번째와 마지막 요소를 제외하고 나머지 요소들 중 아무거나 골라서 리턴하면된다.
여기서 주의할 점은 배열의 길이가 2이하일 경우이다. 이 경우 최솟값과 최댓값이 같은 값일 수 있고 최솟값과 최댓값만 존재할 수도 있다. 위 경우들은 -1를 리턴한다.

0개의 댓글