본문 바로가기

프로그래머스/LEVEL 1

[프로그래머스/LEVEL1] 소수 만들기

소수 만들기

 

문제

 

 

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

 

코딩테스트 연습 - 소수 만들기

주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때

programmers.co.kr

 

코드

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

		for (int x = 0; x < nums.length - 2; x++) {
			for (int y = x + 1; y < nums.length - 1; y++) {
				for (int z = y + 1; z < nums.length; z++) {
					int sum = nums[x] + nums[y] + nums[z];
					if (decimalCheck(sum)) {
//						System.out.println("output_sum : " + sum);
						result++;
					}
				}
			}
		}

		return result;
    }
    
	public boolean decimalCheck(int sum) {
		boolean decimalCheck = true;
		if (sum == 2) { // 소수일때
			return decimalCheck;
		}

		for (int i = 2; i < sum; i++) { // 소수가 아닐때
			if (sum % i == 0) {
				decimalCheck = false;
				break;
			}
		}

		return decimalCheck;
	}
}