[LeetCode] 2404. Most Frequent Even Element

Chobby·2025년 10월 28일
1

LeetCode

목록 보기
728/770

😎풀이

  1. nums 순회
    1-1. 짝수 요소인 경우 빈도 저장
  2. 저장된 빈도 순회
    2-1. 기존 최대 빈도 요소보다 적은 빈도인 경우, 생략
    2-2. 기존 최대 빈도 요소와 같은 빈도인 경우, 값을 비교하여 더 낮은 값 채택
    2-3. 기존 최대 빈도 요소보다 많은 빈도인 경우, 최대 빈도 및 값 갱신
  3. 최대 빈도를 갖는 값 중 짝수 최솟값 반환
function mostFrequentEven(nums: number[]): number {
    const frequent = new Map()
    for(const num of nums) {
        if(num % 2 !== 0) continue
        frequent.set(num, (frequent.get(num) ?? 0) + 1)
    }
    let maxFreq = 0
    let smallestNum = Infinity
    for(const [key, value] of frequent) {
        if(maxFreq > value) continue
        if(maxFreq === value) {
            smallestNum = Math.min(smallestNum, key)
            continue
        }
        maxFreq = value
        smallestNum = key
    }
    if(smallestNum === Infinity) return -1
    return smallestNum
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글