풀이 : 다중 For 문을 사용하여 3개의 수를 찾고 3개의 수의 합에대하여 소수인지를 판명한다.
소수 판별의 경우 제곱근 보다 적게 for 문을 진행 하여 소수 판별 진행
package com.company;
public class MakePrimeNum {
public static int[] nums = {1,2,3,4};
public static void main(String[] args) {
int rs = solution(nums);
System.out.println(rs);
}
public static int solution(int[] nums) {
int answer = 0;
int sumNum = 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++)
{
sumNum = nums[i] + nums[j] + nums[k];
if (isprime(sumNum)) answer++;
}
}
}
return answer;
}
public static boolean isprime(int sumNum)
{
int rootNum =(int)Math.sqrt(sumNum);
for (int i = 2; i <= rootNum; i++)
{
if (sumNum % i == 0)
return false;
}
return true;
}
}
'알고리즘 > JAVA' 카테고리의 다른 글
[JAVA] 직사각형 별찍기 - 프로그래머스 (0) | 2021.09.29 |
---|---|
[JAVA] 로또의 최고 순위와 최저 순위 - 프로그래머 (0) | 2021.07.24 |
[JAVA] 음양 더하기 - 프로그래머스 (0) | 2021.06.14 |
[JAVA] 크레인 인형뽑기 게임 - 프로그래머스 (0) | 2021.02.28 |
[JAVA] 같은 숫자는 싫어 - 프로그래머스 (0) | 2021.02.26 |