티스토리 뷰

PS/programmers

Level1) 소수구하기

kingsubin 2021. 4. 30. 10:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class Level1_소수만들기 {
    static boolean[] primeMap = new boolean[3000];
 
    public static int solution(int[] nums) {
        makePrimeMap();
        int answer = 0;
 
        for (int i = 0; i < nums.length - 2; i++) {
            for (int j = i+1; j < nums.length - 1; j++) {
                for (int k = j+1; k < nums.length; k++) {
                    int total = nums[i] + nums[j] + nums[k];
                    if (!primeMap[total]) {
                        answer++;
                    }
                }
            }
        }
        return answer;
    }
 
    private static void makePrimeMap() {
        for (int i = 2; i*< primeMap.length; i++) {
            for (int j = i*2; j < primeMap.length; j+=i) {
                primeMap[j] = true;
            }
        }
    }
 
    public static void main(String[] args) {
        int[] nums = {12764};
        System.out.println(solution(nums));
    }
}
 
cs

 

// 다른사람 소수구하는 풀이 
public Boolean isPrime(int num){
        int cnt = 0;
        for(int i = 1; i <= (int)Math.sqrt(num); i ++){
            if(num % i == 0) cnt += 1; 
        }
        return cnt == 1;
    }
 

'PS > programmers' 카테고리의 다른 글

Level1) 내적  (0) 2021.05.02
Level1) 폰켓몬  (0) 2021.05.01
Level1) 신규아이디추천  (0) 2021.04.29
Level1) 3진법 뒤집기  (0) 2021.04.28
Level1) 키패드 누르기  (0) 2021.04.27