🔺 문제
🔺 코드
import java.util.*;
class Solution {
public int solution(int() nums) {
int len = nums.length;
int answer = 0;
for(int i = 0 ; i < len -2 ; i++) {
for(int j = i+1 ; j < len -1 ; j++) {
for(int k = j+1 ; k < len ; k++) {
int sum = nums(i) + nums(k) + nums(j);
answer += isPrime(sum) ? 1 : 0;
}
}
}
return answer;
}
// 소수 여부 반환 메소드
private boolean isPrime(int num) {
for(int i=2 ; i<= Math.sqrt(num) ; i++) {
if(num % i == 0)
return false;
}
return true;
}
}
소수인지 여부를 결정하는 메서드를 별도로 만듭니다.
소수 찾기 문제와 함께 풀어도 좋았던 것처럼,,,
🔺 다른 수영장
class Solution {
public int solution(int() nums) {
int answer = 0;
for (int a = 0; a < nums.length; a++) {
for (int b = (a + 1); b <nums.length; b++) {
for (int c = (b + 1); c < nums.length; c++) {
int sum = nums(a) + nums(b) + nums(c);
boolean confirm = true;
for (int i = 2; i < sum; i++) {
if (sum % i == 0) {
confirm = false;
}
}
if (confirm) answer++;
}
}
}
return answer;
}
}
소수 판별을 한 번에!
(참고)