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