How Many Numbers Are Smaller Than the Current Number (1365)

leetcode 1365번 문제 (java)

문제 내용

Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it. That is, for each nums[i] you have to count the number of valid j’s such that j != i and nums[j] < nums[i]. Return the answer in an array.

=> 배열 안에서 자기 자신보다 작은 배열의 값을 count하라는 뜻이다.

  • Example
    Input: nums = [8,1,2,2,3]
    Output: [4,0,1,1,3]
    Explanation: 
    For nums[0]=8 there exist four smaller numbers than it (1, 2, 2 and 3). 
    For nums[1]=1 does not exist any smaller number than it.
    For nums[2]=2 there exist one smaller number than it (1). 
    For nums[3]=2 there exist one smaller number than it (1). 
    For nums[4]=3 there exist three smaller numbers than it (1, 2 and 2).
    

    -Example 2

    Input: nums = [6,5,4,8]
    Output: [2,1,0,3]
    
  • 범위
    2 <= nums.length <= 500
    0 <= nums[i] <= 100
    

내가 찬 코드

class Solution {
    public int[] smallerNumbersThanCurrent(int[] nums) {
      int[] answer = new int[nums.length];
      for (int i = 0; i < nums.length; i++) {
        for (int j = i+1; j < nums.length; j++) {
          if(nums[i] > nums[j]){
            answer[i]++;
          }else if(nums[i] < nums[j]){
            answer[j]++;
          }
        }
      }
      return answer;
    }
}

© 2021. All rights reserved.

Powered by Hydejack v7.5.2