728x90
▶ 문제
▶ 풀이방법
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
//에라토스테네스의 체 사용.(소수판별공식 사용)
boolean[] arr = new boolean[3000];
Arrays.fill(arr, false);
for(int i = 2; i < 3000; i++){
for(int j = i*2; j < 3000; j+=i){
if(arr[j] == true) continue;
arr[j] = true; //소수가 아니면 true, 소수이면 false
}
}
Arrays.sort(nums);
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 num = nums[i] + nums[j] + nums[k];
if(!arr[num]) answer++;
}
}
}
return answer;
}
}
728x90
'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글
Lv1. 없는 숫자 더하기 (0) | 2022.04.24 |
---|---|
Lv1. 내적 (0) | 2022.04.24 |
Lv1. 완주하지 못한 선수 (0) | 2022.04.24 |
Lv1. K번째 수 (0) | 2022.04.24 |
Lv1. 모의고사 (0) | 2022.04.21 |