LeetCode - 1636. Sort Array by Increasing Frequency

henu·2023년 10월 31일
0

LeetCode

목록 보기
134/186

Solution

var frequencySort = function(nums) {
    const hash = {}

    for(let num of nums) {
        hash[num] = (hash[num] || 0) + 1
    }

    return nums.sort((a, b) => hash[a] === hash[b] ? b-a : hash[a] - hash[b])

};

Explanation

문제를 간단하게 설명하면
정수 배열이 주어질때 정수가 출현하는 빈도수순(오름차순)으로 정렬하는데 빈도수가 같을 경우 내림차순으로 정렬하라!!
Hash Table과 sort메소드를 사용해서 해결할 수 있었다.
1. 정수별 출현 빈도수를 Hash Table에 기록한다.
2. sort 메소드를 사용해서 조건에 맞게 정렬한다.
출현 빈도수가 같을 경우 b-a로 작성해서 내림차순으로 정렬하고
다를 경우는 hash[a]-hash[b]로 작성해서 오름차순으로 정렬한다.

0개의 댓글