[LeetCode] 451. Sort Characters By Frequency

Chobby·2026년 2월 26일

LeetCode

목록 보기
1011/1023

😎풀이

  1. s를 순회하며 각 알파벳의 빈도를 파악
  2. 사전순으로 정렬하여 같은 알파벳끼리 연속적으로 등장하도록 설정
  3. 연속적인 알파벳 그룹을 최빈값을 기준으로 내림차 순 정렬
  4. 정렬된 배열을 문자열 형태로 변환하여 반환
function frequencySort(s: string): string {
    const freq = new Map<string, number>()
    for(const char of s) {
        freq.set(char, (freq.get(char) ?? 0) + 1)
    }
    const splitted = [...s]
    const sortedByDict = splitted.toSorted()
    const sortedByFreq = sortedByDict.toSorted((a, b) => freq.get(b) - freq.get(a))
    return sortedByFreq.join('')
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글