코린이의 소소한 공부노트

[LeetCode/Easy] 2148. Count Elements With Strictly Smaller and Greater Elements 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2148. Count Elements With Strictly Smaller and Greater Elements

무지맘 2023. 1. 13. 21:36

1. Input

1) 정수 배열 nums

 

2. Output

1) nums의 요소 중 자기 다음으로 큰 수와 자기 다음으로 작은 수가 모두 있는 요소의 개수

 

3. Constraint

1) 1 <= nums.length <= 100

2) - 10^5 <= nums[i] <= 10^5

 

4. Example

Input: nums = [11,7,2,15] -> Output: 2

설명:

- 11 다음으로 큰 수는 15, 11 다음으로 작은 수는 7이다.

- 7 다음으로 큰 수는 11, 7 다음으로 작은 수는 2이다.

- 2 다음으로 큰 수는 7, 2 다음으로 작은 수는 없다.

- 15 다음으로 큰 수는 없고, 15 다음으로 작은 수는 11이다.

- 조건을 만족하는 숫자는 117이므로 2를 반환한다.

 

5. Code

1) 첫 코드(2022/07/07)

import java.util.*;

int n = nums.length;
if(n==1)
    return 0;

Arrays.sort(nums);

int max = nums[n-1];
int min = nums[0];

for(int i=1 ; i<nums.length ; i++){
    if(nums[i]==min) n--;
    else break;
}

for(int i=nums.length-2 ; i>0 ; i--){
    if(nums[i]==max) n--;
    else break;
}

return n>0 ? n-2 : 0;