알고리즘
[프로그래머스] 소수 만들기(Java) *
muerha
2024. 12. 12. 09:56

나의 풀이
class Solution {
public int solution(int[] nums) {
int answer = 0;
int sum = 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++){
sum = nums[i] + nums[j] + nums[k];
if(isPrime(sum)){
answer++;
}
}
}
}
return answer;
}
private boolean isPrime(int num){
for(int i = 2 ; i < num ; i++){
if(num % i == 0)
return false;
}
return true;
}
}
다른 사람의 풀이
class Solution {
public int solution(int[] nums) {
int answer = 0;
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 sum = nums[i] + nums[j] + nums[k];
boolean isPrime = true;
for (int l=2; l*l <= sum; l++) {
if (sum % l == 0) {
isPrime = false;
break;
}
}
if(isPrime)
answer++;
}
}
}
return answer;
}
}