2 parents d876934 + 49ef409 commit 2f385e2Copy full SHA for 2f385e2
1 file changed
leetcode3/이진희/3591_Check if Any Element Has Prime Frequency.java
@@ -0,0 +1,37 @@
1
+/*
2
+
3
+1. 아이디어 : 에라토스테네스의 체와 빈도수 배열 사용
4
+ 100 까지 의 수므로 미리 각 숫자의 등장 빈도수와 100 이하의 소수를 구한다
5
+ 이후 빈도수 배열을 완전탐색해 소수가 존재하는지 찾는다
6
7
+2. 시간복잡도 : O(N) + O(M log log M) + O(N) => O(N) (M=100)
8
9
+3. 자료구조/알고리즘 : 에라토스테네스의 체, 빈도수 배열
10
11
+ */
12
13
+class Solution {
14
+ public boolean checkPrimeFrequency(int[] nums) {
15
+ // 특정 수의 등장 횟수가 소수면 return true
16
17
+ int[] cnt = new int[101];
18
+ for(int i : nums) {
19
+ cnt[i]++;
20
+ }
21
22
+ boolean[] isNotPrime = new boolean[101];
23
+ isNotPrime[0] = isNotPrime[1] = true;
24
25
+ for(int i=2; i*i<101; i++) {
26
+ for(int j=i*i; j<101; j+=i) {
27
+ isNotPrime[j] = true;
28
29
30
31
+ for(int i : cnt) {
32
+ if(isNotPrime[i]) continue;
33
+ return true;
34
35
+ return false;
36
37
+}
0 commit comments