😎풀이

  1. 최소 빈도 수 정의
  2. Map 정의
  3. nums 순회하며 빈도 수 입력
  4. 최소 빈도수를 초과하는 수 탐색 및 반환
function majorityElement(nums: number[]): number[] {
    // 최소 빈도 수 정의
    const minAppearTime = Math.floor(nums.length / 3)
    // key: 수, value: 빈도
    const map = new Map<number, number>()
    // 빈도 수 입력
    for(const num of nums) map.set(num, (map.get(num) ?? 0) + 1)
    const mapKeys = [...map.keys()]
    // 최소 빈도 수 초과 수 탐색
    return mapKeys.filter(key => map.get(key) > minAppearTime)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글