프로그래머스 | 소수 만들기 (Java)

mul·2023년 1월 31일
0

알고리즘

목록 보기
6/65
post-custom-banner

🔒 문제

프로그래머스 Lv.1 소수 만들기

🔑 해결

숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우를 return하도록 solution 함수를 작성하는 문제이다.

3중 for문을 돌려 서로 다른 숫자를 고른 다음, 고른 숫자들의 합이 소수인지 판별하고, 소수라면 answer에 1을 증가시킨다.

🔓 코드

class Solution {
    public int solution(int[] nums) {
        int answer = 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]) ) {
						answer++;
					}
				}
			}
		}

        return answer;
    }
     public boolean isPrime(int n) {
    	for (int i = 2; i * i <= n; i++) {
			if (n % i == 0)
				return false;
		}
    	return true;
    }
}
post-custom-banner

0개의 댓글