
세가지 숫자 합이 소수인지 아닌지 확인하는 간단한 문제였다.
소수임을 확인하는 함수와 중복되는 숫자를 사용하지 않게 하는 것이 중요한 포인트인듯 하다.
삼중 for문을 돌리고 앞의 수보다 하나 높은 수부터 시작하면 겹치지 않게 숫자를 사용할 수 있다.
class Solution {
public int solution(int[] nums) {
int answer = 0;
int length = nums.length;
int sum = 0;
for(int i=0; i<length; i++){
for(int j=i+1; j<length; j++){
for(int k=j+1; k<length; k++){
sum = nums[i] + nums[j] + nums[k];
if(isCheck(sum)){
answer++;
}
}
}
}
return answer;
}
private boolean isCheck(int num){
for(int i=2; i<num; i++){
if(num % i == 0){
//소수가 아니다
return false;
}
}
return true;
}
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Java] LV.1 정수 제곱근 판별 (0) | 2022.09.14 |
---|---|
[프로그래머스/Java] LV.1 자릿수 더하기 (0) | 2022.09.13 |
[프로그래머스/Java] LV.1 나머지가 1이 되는 수 찾기 (0) | 2022.09.13 |
[프로그래머스/Java] LV.1 완주하지 못한 선수 (0) | 2022.08.16 |
[프로그래머스/Java] LV.1 폰켓몬 (0) | 2022.08.12 |