[백준2910_자바스크립트(javascript)] - 빈도 정렬

경이·2024년 6월 2일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
52/325

🔴 문제

빈도 정렬


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const [heads, tails] = fs.readFileSync(path).toString().trim().split('\n');
const seq = tails.split(' ');
const checkObj = {};

for (const s of seq) {
  if (s in checkObj) checkObj[s]++;
  else checkObj[s] = 1;
}

seq.sort((a, b) => {
  if (checkObj[a] !== checkObj[b]) return checkObj[b] - checkObj[a];
  return seq.indexOf(a) > seq.indexOf(b) ? 1 : -1;
});

console.log(...seq);

🟢 풀이

일단 각 요소가 몇개 있는지 체크해주는 객체를 만들었다.
그리고 문제 요구사항대로 빈도 정렬해주면 된다.
빈도 정렬 로직은 sort 함수의 콜백에 넣어준다.


🔵 Ref

profile
록타르오가르

0개의 댓글