ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Level1) 소수구하기
    PS/programmers 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
킹수빈닷컴