[LeetCode] 1636. Sort Array by Increasing Frequency

Chobby·6일 전
1

LeetCode

목록 보기
565/582

😎풀이

  1. 빈도 수를 확인한다.
  2. 빈도 수가 적은 수부터 오름차 순으로 정렬한다.
    2-1. 단, 빈도 수가 같다면 더 높은 수가 우선 정렬된다.
  3. 정렬된 배열을 반환한다.
function frequencySort(nums: number[]): number[] {
    const frequent = new Map()
    for(const num of nums) frequent.set(num, (frequent.get(num) ?? 0) + 1)
    return nums.sort((a, b) => {
        const aFreq = frequent.get(a)
        const bFreq = frequent.get(b)
        if(aFreq !== bFreq) return aFreq - bFreq
        return b - a
    })
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글