[LeetCode] 1365. How Many Numbers Are Smaller Than the Current Number

Chobby·2025년 8월 12일
1

LeetCode

목록 보기
507/582

😎풀이

  1. nums를 정렬한다.
  2. 해시맵을 정의한다.
  3. 정렬된 배열을 순회하며 각 요소가 몇 번째로 큰 요소인지 해시맵에 저장한다.
  4. 원본 배열을 해시맵 값에 따라 적용하여 반환한다.
function smallerNumbersThanCurrent(nums: number[]): number[] {
    const n = nums.length
    const sorted = nums.toSorted((a, b) => a - b)
    const map = new Map<number, number>()
    for(let i = 0; i < n; i++) {
        const num = sorted[i]
        if(map.has(num)) continue
        map.set(num, i)
    }
    return nums.map(num => map.get(num))
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글