본문 바로가기
알고리즘/프로그래머스

프로그래머스 소수 만들기 자바 java

by 클로드 2021. 8. 23.
반응형

풀이

주어진 숫자 중에서 3개의 숫자를 더한 값이 소수인 경우의 개수를 구하는 것

 

1. 배열에서 3개의 숫자를 중복 없이 찾는 기능

2. 소수인지 아닌지를 판별하는 기능

 

1번의 기능은 3중 for문을 이용해서 해결하였고

 

2번의 소수 판별은 2부터 num-1 까지 나누어서

나누어질 경우 소수가 아니고

나누어지면 소수인 것으로 해결하였다.

코드

class Solution {
    public int solution(int[] nums) {
        int count = 0;

        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                for (int k = j + 1; k < nums.length; k++) {
                    if (isPrime(nums[i] + nums[j] + nums[k])) {
                        count++;
                    }
                }
            }
        }

        //System.out.println(count);

        return count;
    }
    
    public static boolean isPrime(int num) {
        boolean result = true;

        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                result = false;
                break;
            }
        }

        return result;
    }
}

 

출처

https://programmers.co.kr/learn/courses/30/lessons/12977

반응형

댓글