[LeetCode] 3591. Check if Any Element Has Prime Frequency

Chobby·2026년 1월 16일

LeetCode

목록 보기
932/962

😎풀이

  1. 소수 판별 함수 isPrime 정의
  2. nums 순회하며 각 숫자 빈도 확인
  3. 단 하나라도 소수의 빈도를 갖는다면, true 반환
  4. 하나도 소수의 빈도를 갖지 못한다면, false 반환
function checkPrimeFrequency(nums: number[]): boolean {
    const frequent = new Map()
    for(const num of nums) {
        frequent.set(num, (frequent.get(num) ?? 0) + 1)
    }
    for(const [key, value] of frequent) {
        if(isPrime(value)) return true
    }
    return false
};

function isPrime(num: number) {
    if(num <= 1) return false
    if(num <= 3) return true
    if(num % 2 === 0 || num % 3 === 0) return false
    for(let i = 5; i * i <= num; i += 6) {
        if(num % i === 0) return false
        if(num % (i + 2) === 0) return false
    }
    return true
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글