
😎풀이
- 소수 판별 함수
isPrime 정의
nums 순회하며 각 숫자 빈도 확인
- 단 하나라도 소수의 빈도를 갖는다면,
true 반환
- 하나도 소수의 빈도를 갖지 못한다면,
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
}